BUILD
Build an MMS target. The BUILD command implements a
multi-phase build.
Format
BUILD[/qualifiers] [target-spec[,...]]
Parameters
target-name
A list of one or more MMS style targets (i.e. no wildcards and
explicit target file specifications).
Phases
Each phase of a build is controlled by a DCL command pro-
cedure and/or an MMS script. See the /PHASES qualifier for
the default phases used. The following standard phases may
be used in order of appearance:
The following list indicates the order in which applications
are built on multiple platforms.
1. Build of current application on local platform. Actions
relating to phases and qualifiers which only need to be
executed once are taken (eg. /SYNCHRONIZE).
2. Build of related applications on local platform (if
/RELATED was specified). Actions relating to phases
and qualifiers which only need to be executed once per
application are taken (eg. /FETCH).
3. Build of current then related applications on other plat-
forms (if /COMBINED was specified). Each platform
build is submitted as a separate batch job. The /RELATED
qualifier is passed to these jobs, but once per application
qualifiers such as /FETCH are not passed.
4. Build installation kit (if /KITBLD was specified).
ALL
This is the equivalence of SETUP,SCAN,RULES,DESCRIP.
DESCRIP
Create targets based on dependencies - i.e. traditional MMS
build, which is achieved by including the generated MMS
scripts from the RULES phase.
Typically this is the fourth phase execeuted.
KITBLD
Creates an installation kit. This phase is not generally explic-
itly included in a build, rather the /KITBLD qualifier forces
this phase to be executed as the last phase (i.e. after the
DESCRIP and RELATED phases). See the /KITBLD qualfier
for more details.
PRECLEAN
Clean out appropriate intermediate and target areas. This is
achieved by deleting all files from the work, library and/or
software directory trees (including the CDD repository), thus
forcing the application to be built from sources in the CMS
library.
Note that the three files ENTER.COM, EXIT.COM and
LOGICALS.COM are preserved in the software directory so
that commands such as CONTEXT will continue to work.
This phase is not generally explicitly included in a build,
rather the /FROM= location qualifier forces this phase to be
executed before the SETUP phase.
The set of directories which will be emptied during the
PRECLEAN phase is controlled by the location code speci-
fied with the /FROM qualifier. See the /FROM qualifier for
details about the location codes, the directories which are
emptied and the effect this has on building the application.
RELATED
Builds related applications. This phase is not generally explic-
itly included in a build, rather the /RELATED qualifier forces
this phase to be executed after the last general phase (i.e. af-
ter the DESCRIP phase) and before any KITBLD phase. See
the /RELATED quaifier for more details.
RULES
Generate dependencies based on current sources - i.e. con-
vert sources to MMS scripts.
Typically this is the third phase executed.
Typically this is the second phase executed.
Typically this phase is the first phase executed.
Qualifiers
/AFTER=time
Specifies that a /AFTER qualifier to be applied when submit-
ting the BUILD command to batch.
Use of the /AFTER qualifier is compatable only with the
/BATCH qualifier.
/BATCH
Specifies that the BUILD 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.
By default, /NOCMS is assumed.
The combined operation causes any SETUP, SCAN, RULES
or DESCRIP phases to be executed first on the Alpha which
is executing the BUILD and then on the VAX specified with
the qualifier.
This set of VAX phases can be controlled using the SWDEV_
BUILD_VAX_PHASES logical name, the equivalence of
which is a comma separated list of the phases which need to
be run on the VAX.
The /COMBINED qualifier also affects the operation of
the default FETCH phase. This phases normally uses
DEVTOOLS commands to update the application work
directory. These underlying DEVTOOLS commands have
their /TIDY qualifier (which is different to the BUILD /TIDY
qualifier) used. If the /COMBINED qualifier is used, it is also
passed on to these underlying DEVTOOLS commands. This
causes deletions of files and library modules to occur for both
architectures.
Note also that the default name for the log file gener-
ated during a non combined build in a multi-architecture
application has an architecture suffix. For example
BUILD/NOCOMBINED executed on a VAX will generate a
BUILD-VAX.LOG log file.
By default, /NOCOMBINED is assumed.
This qualifier is incompatible with the /SCOPE and
/SPECIFIC qualifiers which also specify the scope under
which the BUILD 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 BUILD command qualifiers
(as saved by the /SAVE qualifier) are to be applied before
processing explicit qualifiers.
By default, /DEFAULTS is assumed.
By default, DESCRIP.MMS ise used.
Use of the /DETACHED qualifier is incompatible with
/BATCH, /INTERACTIVE and /SUBPROCESS. /SUBPROCESS
is the default.
/FETCH
Specifies that any newer sources in the CMS library should
be fetched into the work directory before doing the build.
Note that the /FETCH qualifier forces a /NOCMS qualifier,
since if the new sources are fetched before the build, the build
doesn't need to reference the CMS library.
/EXECUTE
/NOEXECUTE
Specifies whether the BUILD command and qualifiers
should be executed. By default, if the /SAVE qualifier is
used, /NOEXECUTE is assumed, otherwise /EXECUTE is
assumed.
/FROM[=location]
/NOFROM (Default)
Specifies that the build should be performed from sources.
Values permitted for location include:
By default, an incremental build is executed.
/GENERATION=cms-gen
Specifies which CMS generations should be used during the
build.
By default, the path specified by the logical name appl _CMS_
PATH is used.
/HOLD
/NOHOLD (Default)
Specifies that a /HOLD qualifier to be applied when submit-
ting the BUILD 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 BUILD
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 BUILD 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).
/KITBLD
Specifies that if an application kit directory (i.e appl _KIT_
DIR or DISK_ env :[ appl .KIT]) is present, an installation kit
should be built for the application.
/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
BUILD /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:[ ]BUILD.LOG is assumed.
By default, /NOMACHINE_CODE is assumed.
Note that unlike other typical linker commands, the BUILD
/MAP qualifier cannot take a map file specification. 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 BUILD command to batch.
Use of the /NAME qualifier is compatable only with the
/BATCH qualifier.
By default, /NAME=BUILD 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.
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.
/PHASES=(phase[,...])
Specifies which phases of the build are to be executed. If
/PHASES=ALL is used, it is equivalent to:
/PHASES=(SETUP,GENERATE,SCAN,RULES,DESCRIP)
This set of default phases can be controlled using the
SWDEV_BUILD_PHASES logical name, the equivalence
of which is a comma separated list of the phases.
If /FETCH is specified, /PHASES=ALL is assumed. If
/UPDATE is specified without /FETCH, /PHASES=NONE
is assumed. If neither of these qualifiers are present,
/PHASES=DESCRIP is assumed.
/PRINT
/NOPRINT (Default)
Specifies that a /PRINT qualifier to be applied when submit-
ting the BUILD 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 BUILD
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.
/RELATED[=(appl[,...])
/NORELATED (Default)
Specifies related applications which should also be built. These
extra builds are executed before the KITBLD phase.
If /RELATED is specified without a value, the related ap-
plications specified by the CONTEXT/ADD command are
used by default. These are typically set up in an application's
ENTER.COM command procedure.
By default, /NORELATED is assumed.
By default, MMS$RULES is used.
Unless the /EXECUTE qualifier is explicitly applied, the
BUILD command is not executed.
The /SAVE qualifier itself is not saved in the BUILD com-
mand'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 BUILD should be executed.
/SPECIFIC
Specifies that the specific scope is to be established for the
BUILD 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 BUILD should be executed.
/STATISTICS
/NOSTATISTICS (Default)
Specifies that a report about process statistics should be
produced at the end of the BUILD job.
By default, /NOSTATISTICS is assumed.
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 BUILD job before the BUILD 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.
/TIDY
Specifies that if the build is occuring in the common scope,
any specific scope files in the developers specific library di-
rectory should be deleted. This is achieved by passing the
introducing an extra TIDY phase before the FETCH phase.
/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.
/UPDATE
/NOUPDATE (Default)
Specifies whether sources should be updated into the work
directory before the BUILD command is executed.
By default, /NOUPDATE is assumed.
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 BUILD command is verified (i.e.
displayed in the output stream) before it is executed.
By default, the command is not verified.
Examples
1.
$ BUILD/BATCH/UPDATE/FETCH