COMPILE
Compile, link or build a source. The COMPILE command
performs whatever operations are necessary on a source to
get it into its next valid state. Typical operations include:
.
Compile the source with a listing and object in the library
directory;
.
Replace object in the library directory into the application
object library which is also in the library directory;
.
Inserts things (eg. fields, records, ACMS tasks etc) into or
builds things from the CDD/Plus;
.
Applies a protection to the the inserted objects, if inserting;
.
Creates a tag file in the library directory if inserting and
no errors were encountered.
Format
COMPILE[/qualifiers] source-file[,...]
Parameters
source-file
A list on one or more wildcard source file specifications. Each
file found is compiled. A sources file type controls how it is to
be compiled
File Types
Compile File Types shows the file types that are recognized,
and the final file types that should be produced.
Qualifiers
/AFTER=time
Specifies that a /AFTER qualifier to be applied when submit-
ting the COMPILE command to batch.
Use of the /AFTER qualifier is compatable only with the
/BATCH qualifier.
/BATCH
Specifies that the COMPILE command should be performed
in the context of a batch job.
Use of the /BATCH qualifier is incompatible with /DETACHED,
/INTERACTIVE and /SUBPROCESS. /SUBPROCESS is the
default.
/CLUSTER
Specifies that the action specified with the /SAVE or
/UNSAVE qualifier be performed on the cluster wide save
file.
By default, /NODE is assumed.
This qualifier is incompatible with the /SCOPE and
/SPECIFIC qualifiers which also specify the scope under
which the COMPILE should be executed.
/CONDITIONALS[=(character,...)]
/NOCONDITIONALS (Default)
Controls whether the conditional compilation lines in a
Cobol source program are compiled or treated as com-
ments. Specifying /CONDITIONALS results in all conditional
compilation lines being compiled.
Specifying /CONDITIONALS=(selector,...), where a selector
is a list of one or more characters from A to Z, results in the
selected conditional compilation lines being compiled. If you
specify more than one selector, separate them with commas
and enclose the list in parentheses.
The default, /NOCONDITIONALS, results in all condi-
tional compilation lines being treated as comments during
compilation.
/COPY_LIST
/NOCOPY_LIST (Default)
Controls whether source statements included by COPY
statements in Cobol are printed in the listing file.
The /COPY_LIST qualifier has no effect unless you also
specify the /LIST qualifier.
The default, /NOCOPY_LIST, suppresses the listing of text
copied from library files; only the COPY statement appears in
the listing file.
/CROSS_REFERENCE[=(options,...)]
/NOCROSS_REFERENCE (Default)
Specifies that a cross-refererence of symbols be generated in
a listing or map file. See compiler and linker documentation
for sepcific details. At this time, /CROSS_REFERERENCE is
only applied to COBOL and LINK commands.
/DEBUG
/NODEBUG (Default)
Specifies whether targets will be built and sources compiled
with the /DEBUG qualifier applied.
By default, /NODEBUG is assumed.
/DEFAULTS (Default)
/NODEFAULTS
Specifies whether the default COMPILE command quali-
fiers (as saved by the /SAVE qualifier) are to be applied before
processing explicit qualifiers.
By default, /DEFAULTS is assumed.
Use of the /DETACHED qualifier is incompatible with
/BATCH, /INTERACTIVE and /SUBPROCESS. /SUBPROCESS
is the default.
/EXECUTE
/NOEXECUTE
Specifies whether the COMPILE command and qualifiers
should be executed. By default, if the /SAVE qualifier is
used, /NOEXECUTE is assumed, otherwise /EXECUTE is
assumed.
/HOLD
/NOHOLD (Default)
Specifies that a /HOLD qualifier to be applied when submit-
ting the COMPILE command to batch.
Use of the /HOLD qualifier is compatable only with the
/BATCH qualifier.
/IGNORE (Default)
/NOIGNORE
Specifies whether any MMS commands issued by the
COMPILE command will have the /IGNORE qualifier
applied to stop the MMS command failing when errors are
detected.
By default, /IGNORE is assumed.
By default, /NOINITIALIZE_HANDLES is assumed.
Use of the /INTERACTIVE qualifier is incompatible with
/BATCH, /DETACHED and /SUBPROCESS. /SUBPROCESS
is the default.
/KEEP (Default)
/NOKEEP
Specifies that a /KEEP qualifier to be applied when submitting
the COMPILE command to batch.
Use of the /KEEP qualifier is compatable only with the
/BATCH qualifier.
/KEPT[=(utility[,...])] (Default)
/NOKEPT
Specifies that certain utilities should use kept subprocesses.
This feature is particularly useful for CDO where activation
time can be significantly longer that taken to define a simple
object such as a field.
A NO can prefix a utility name which indicates that utility is
not to use a kept subprocess. This is useful for ADU where
task group builds in a kept subprocess may hold on to virtual
memory after the build has completed.
The list established with /KEPT is accumulative. The initial
and default list is /KEPT=(ADU,CDO,RDU). For exam-
ple, using /KEPT=NOADU results in the same effect as
/KEPT=(CDO,RDU).
/LIST (Default)
/NOLIST
Specifies whether targets should be built and sources compiled
with the /LIST qualifier applied.
Note that unlike other typical compiler commands, the
COMPILE /LIST qualifier cannot take a list file specification.
All listings are forced into the library directory.
By default, /LIST is assumed.
By default, /LOG=SYS$DISK:[ ]COMPILE.LOG is assumed.
By default, /NOMACHINE_CODE is assumed.
Note that unlike other typical linker commands, the
COMPILE /MAP qualifier cannot take a map file speci-
fication. All maps are forced into the library directory.
By default, /MAP is assumed.
By default, /MEMBER_ALIGNMENT is assumed.
If no qualifiers are present /MEMORY is assumed by default,
otherwise /NOMEMORY is the default.
/NAME=job-name
Specifies that a /NAME qualifier to be applied when submit-
ting the COMPILE command to batch.
Use of the /NAME qualifier is compatable only with the
/BATCH qualifier.
By default, /NAME=COMPILE is assumed with the /BATCH
qualifier.
/NATIVE_ONLY (Default)
/NONATIVE_ONLY
For Alpha linking, prevents the linker from passing along
procedure signature block (PSB) information in special fix-
ups to the image activator. The image activator uses this
information to build jackets so that native OpenVMS Alpha
images can call translated OpenVMS VAX images. Note that
this qualifier does not prevent incoming calls from translated
OpenVMS VAX images.
/NODE[=node-name]
Specifies that the action specified with the /SAVE or
/UNSAVE qualifier be performed on a node specific save
file. If no node name is specified, the name of the current
node is assumed.
By default, /NODE is assumed.
By default, /NOMMS is assumed.
Use of the /NOTIFY qualifier is compatable only with the
/BATCH qualifier.
/OPTIMIZE (Default)
/NOOPTIMIZE
Specifies whether targets will be built and sources compiled
with the /OPTIMIZE qualifier applied.
If /DEBUG is not specified or /NODEBUG is specified,
/OPTIMIZE is assumed by default.
If /DEBUG is specified and no /OPTIMIZE or /NOOPTIMIZE
qualifier is specified, /NOOPTIMIZE is applied by default.
/PRINT
/NOPRINT (Default)
Specifies that a /PRINT qualifier to be applied when submit-
ting the COMPILE command to batch.
Use of the /PRINT qualifier is compatable only with the
/BATCH qualifier.
/QUEUE=batch-queue-name
Specifies the name of the batch queue into which the
COMPILE command should be placed for execution.
By default, /QUEUE=SYS$BATCH is assumed with the
/BATCH qualifier.
Use of the /QUEUE qualifier is compatable only with the
/BATCH qualifier.
/SAVE
Specifies that the qualifiers specified with the COMPILE
command (including any applied with an explicit /MEMORY
qualifier) should be saved as the default COMPILE command
qualifiers.
Unless the /EXECUTE qualifier is explicitly applied, the
COMPILE command is not executed.
The /SAVE qualifier itself is not saved in the COMPILE
command's default or previous qualifiers.
/SCA_LIBRARY
/NOSCA_LIBRARY (Default)
Specifies that products that support SCA, will also update the
SCA library after a successful build or compilation.
By default, /NOSCA_LIBRARY is assumed.
This qualifier is incompatible with the /COMMON and
/SPECIFIC qualifiers which also specify the scope under
which the COMPILE should be executed.
/SPECIFIC
Specifies that the specific scope is to be established for the
COMPILE command, independent of the current or default
scope for this application environment.
This qualifier is incompatible with the /COMMON and
/SCOPE qualifiers which also specify the scope under which
the COMPILE should be executed.
/SUBPROCESS (Default)
Specifies that the COMPILE command should be performed
in the context of a sub-process of the current process.
Use of the /SUBPROCESS qualifier is incompatible with
/BATCH, /DETACHED and /INTERACTIVE.
/SYNCHRONIZE=job-entry
Specifies that a SYNCHRONIZE command is to be used
in the COMPILE job before the COMPILE command is
executed, in order to wait until another batch job has finished.
Use of the /SYNCHRONIZE qualifier is compatable only with
the /BATCH qualifier.
/TRACEBACK (Default)
/NOTRACEBACK
Directs the linker to include traceback information in the
image file. If you specify the /DEBUG qualifier, the linker
includes traceback information by default, overriding the
/NOTRACEBACK qualifier if it is specified.
/USERLIBRARY (Default)
/NOUSERLIBRARY
Specifies a qualifier which the COMPILE command applies
to any LINK commands issued.
By default, the /USERLIBRARY qualifier is applied.
Use of the /USERNAME qualifier is compatable only with
the /BATCH qualifier.
/VERIFY
/NOVERIFY (Default)
Specifies whether the COMPILE command is verified (i.e.
displayed in the output stream) before it is executed.
By default, the command is not verified.
Examples
1. {system-prompt}
{user-response}