1 /ACTION
/ACTION (D)
/NOACTION
Controls whether MMS executes the action lines in a description
file. These qualifiers affect only the execution of action lines,
not the behavior of MMS.
The /ACTION qualifier displays action lines as they are invoked.
MMS does not display any information on dependencies.
If you specify /NOACTION, MMS does not execute the action lines,
but instead writes them to an output file (either SYS$OUTPUT
or the file specified by the /OUTPUT qualifier). /NOACTION is
useful for determining what actions MMS would have executed had
the system actually been built. You can also use /NOACTION in
combination with the /OUTPUT qualifier to generate a command
procedure (see the description of the /OUTPUT qualifier).
/NOACTION overrides the Silent action-line prefix - @. Note that
the $(MMS) reserved macro is executed even if you specify
/NOACTION. Therefore, you can see what actions MMS would have
executed in the subprocess.
/NOACTION does not affect the /AUDIT qualifier that you can
provide with references to CDD records. That is, if you suppress
the execution of action lines with the /NOACTION qualifier,
the remark you supply with /AUDIT is still written to the CDD
history file.
2 /CHANGED
/CHANGED=(source1, source2,...)
Directs MMS to treat only the specified sources as having been
changed, regardless of their actual modification times. No date
checking is performed at all; MMS simply rebuilds any targets
that depend on one or more of the specified sources. This
qualifier affects the behavior of MMS but not the execution of
action lines.
3 /CHECK_STATUS
/CHECK_STATUS
/NOCHECK_STATUS (D)
Controls whether MMS returns a value in the symbol MMS$STATUS
instead of updating a target. This symbol contains the status
of the last action line executed by MMS. These qualifiers affect
both the execution of action lines and the behavior of MMS.
When you specify the /CHECK_STATUS qualifier, MMS checks whether
a target is up-to-date by determining whether any actions would
be executed if the /ACTION qualifier was specified. MMS issues
an informational message and sets MMS$STATUS to 1 if no actions
would be executed (that is, if the target is up-to-date). If the
target needs to be updated, MMS sets the MMS$STATUS value to 0.
/CHECK_STATUS has precedence over both the /ACTION and "/REVISE_
DATE" qualifiers if they appear on the same command line. In this
case, only /CHECK_STATUS is processed.
The /NOCHECK_STATUS qualifier directs MMS to process the
description file as it normally would, executing action lines
if necessary.
4 /CMS
/CMS
/NOCMS (D)
Controls whether MMS looks for source files, description files,
and include files in the current default CMS library as well
as in the specified directories. CMS must be installed on your
system. These qualifiers affect both the execution of action
lines and the behavior of MMS.
For information on using the /CMS qualifier with the
description-file generator, refer to the /GENERATE qualifier.
When you specify the /CMS qualifier and the source in the CMS
library is newer, MMS fetches it from the CMS library. If the
source in the CMS library is older, MMS instead uses the source
in the specified directory.
/CMS also directs MMS to look in the current default CMS library
for a description file and any files included with the .INCLUDE
directive, or specified with the /RULES qualifier. If MMS does
not find a description file in either the specified directory or
the current default CMS library, it aborts execution.
The /CMS qualifier also directs MMS to apply CMS built-in rules
where appropriate.
The /NOCMS qualifier directs MMS not to look in the current
default CMS library for source files, description files, rules
files, or include files. However, if any file specifications in
the description file are followed by a tilde (~) to indicate
specific CMS elements, MMS looks for the files in the CMS library
regardless of whether /NOCMS is in effect.
If you specify /NOCMS, or the combination /CMS/NORULES, and
the sources do not exist in the specified directory, MMS aborts
execution.
5 /DESCRIPTION
/DESCRIPTION[=filespec...](D)
/NODESCRIPTION target
Controls whether MMS looks for a description file to update the
target. These qualifiers affect the behavior of MMS, but not the
execution of action lines.
The filespec is an OpenVMS file specification or a logical name
that identifies the description file. The default file type is
.MMS. If a tilde (~) follows the file specification, MMS fetches
the description file from the default CMS library even if the
description file exists in the default directory. The target is
an OpenVMS file specification or a mnemonic name that designates
the target to be built.
When you specify more than one description file, separate the
file specifications with either commas (,) or plus signs (+) and
enclose them in parentheses or quotation marks.
If you use commas, the description files are processed separately
and the list of files must be enclosed in parentheses. For
example:
$ MMS/DESCRIPTION=(A, B)
If you use plus signs, the description files are concatenated
and processed as one file. The list of files must be enclosed in
quotation marks. For example:
$ MMS/DESCRIPTION="A + B"
You can combine separate description files with description files
to be concatenated and processed as one file. For example:
$ MMS/DESCRIPTION=("A + B", CLEANUP)
This command line directs MMS to process A.MMS and B.MMS as
one file, and CLEANUP.MMS as another. In this case, there are
two default targets: the first one is in either A.MMS or B.MMS
(depending on the contents of the two files) and the second one
is in CLEANUP.MMS.
If you specify a list of description files in parentheses and a
list of targets, the rules for updating all the listed targets
must occur in all the listed description files. For example:
$ MMS/DESC=(A,B) X,Y,Z
In this case, the rules for updating X, Y, and Z must appear in
both description files, A.MMS and B.MMS.
If you specify a concatenated list of description files and a
list of targets, the rules for updating all the listed targets
must occur in the concatenated description file. For example:
$ MMS/DESC="A + B" X,Y,Z
In this case, the description file formed by the concatenation of
A.MMS and B.MMS must contain the rules for updating X, Y, and Z.
If you specify the /DESCRIPTION qualifier without a file
specification or if you do not specify /DESCRIPTION, MMS looks
first for the default description file DESCRIP.MMS. If it cannot
locate that file, it looks for one called MAKEFILE.; if it
cannot find MAKEFILE., it looks for target-name.MMS. If MMS
finds target-name.MMS, it does not update the first target in
the description file, but instead attempts to directly update the
target indicated by target-name.MMS. For example:
$ MMS MAIN.EXE
In this example, if DESCRIP.MMS and MAKEFILE. are not present,
MMS looks for a file named MAIN.MMS. If MAIN.MMS exists, MMS
directly processes the target you specified on the command
line, MAIN.EXE.
If MMS cannot find any one of these files, it attempts to use
built-in rules to build the target.
If you use the /NODESCRIPTION qualifier, you must specify a
target on the command line. /NODESCRIPTION directs MMS to ignore
all description files and to build the target specified on the
command line.
For information on using the /DESCRIPTION qualifier with the
description-file generator, refer to the /GENERATE qualifier.
6 /EXTENDED_SYNTAX
/EXTENDED_SYNTAX
/NOEXTENDED_SYNTAX (D)
The /EXTENDED_SYNTAX qualifier instructs MMS to enable the
extension of MMS syntax, providing for the following:
o Use of predefined MMS functions.
o Macro redefinition.
o Nested macro expansion.
To enable the /EXTENDED_SYNTAX qualifier in DECwindows MMS, check
the Extended Syntax check box in the Build Definitions/Directives
Options dialog box.
The /EXTENDED_SYNTAX qualifier will be used to include all future
extensions to the MMS syntax. The inverse qualifier, the default
/NOEXTENDED_SYNTAX, will continue to support the syntax of MMS
Version 3.2.
7 /FORCE
/FORCE
/NOFORCE(D)
Controls whether MMS executes the action lines necessary to
update one specific target. These qualifiers affect the behavior
of MMS but not the execution of action lines.
When you specify the /FORCE qualifier, MMS does not check whether
the target or its sources are up-to-date, but simply rebuilds the
specified target by executing the action lines. MMS also executes
any .FIRST and .LAST directives associated with the target.
The /FORCE qualifier is useful for quickly rebuilding a single
target.
8 /FROM_SOURCES
/FROM_SOURCES
/NOFROM_SOURCES (D)
Directs MMS to build a target from its sources, regardless of
whether the target is already up-to-date. This qualifier affects
the execution of action lines and the behavior of MMS.
When you specify the /FROM_SOURCES qualifier, MMS does not
compare the revision times of the specified sources and target.
Instead, it executes the action lines in the description file
necessary to update the target. The /FROM_SOURCES qualifier
is useful when you want to guarantee that an entire system is
rebuilt, perhaps for an internal release.
If you specify the /CMS and /FROM_SOURCES qualifiers on the MMS
command line, MMS uses the sources found in the default CMS
library. If you do not use /CMS, MMS uses the sources found in
the specified directory.
The /FROM_SOURCES qualifier overrides the /SKIP_INTERMEDIATE
qualifier.
9 /GENERATE
/GENERATE [/qualifier[/...]] source_filespec[,...]
Invokes the MMS description file generator.
Select MMS subtopic 'Generating_Description_Files' for more
information.
10 /HELP
/HELP[="topic"]
Provides information about MMS and its qualifiers. The topic is
an MMS topic on which you want information.
The /HELP qualifier displays information about MMS on your
terminal. If you specify the /HELP qualifier without a topic,
MMS displays general information and a list of qualifiers. To
get help on a specific topic, type /HELP with an equal sign (=)
and the topic. The topic must be enclosed in quotation marks. For
example:
$ MMS/HELP="/RULES"
11 /IDENTIFICATION
/IDENTIFICATION
Directs MMS to display an informational message with the version
number and copyright date of the MMS image you are running. MMS
does not process any description files or qualifiers; it simply
displays an informational message on your screen.
You should include the version number and copyright date with any
MMS Software Performance Reports (SPRs) you submit.
12 /IGNORE
/IGNORE[=options]
/NOIGNORE (D)
Directs MMS to specify the severity levels of errors that MMS
normally ignores when it executes action lines. The parameters
correspond to the DCL severity levels W, E, and F. The /NOIGNORE
qualifier directs MMS to abort execution when it finds an error.
These qualifiers affect the execution of action lines but not the
behavior of MMS.
The options field can contain the keyword WARNING, ERROR, or
FATAL. WARNING directs MMS to ignore W errors and continue
processing, but to abort execution if it finds an E or F error.
If you specify the /IGNORE qualifier without parameters, WARNING
is the default. ERROR directs MMS to ignore both W and E errors,
but to abort execution if it finds an F error. FATAL directs MMS
to ignore all errors, and to continue processing the description
file. This parameter is equivalent to the .IGNORE directive.
When you specify the /IGNORE qualifier, the errors that MMS
ignores are those generated by the execution of action lines.
The only fatal errors MMS will not ignore are syntax errors.
The /IGNORE qualifier does not stop MMS error messages from
being generated or displayed. Informational messages are always
displayed, regardless of whether you use the /IGNORE qualifier.
NOTE
Take caution when executing MMS with the /IGNORE qualifier;
if errors occur during processing, the target might be
updated but still contain errors of which you will not be
aware.
The .IGNORE directive and the Ignore action line prefix are
similar to the /IGNORE=FATAL qualifier. However, instead of
typing them on the command line, you include them in the
description file.
To override the .IGNORE directive contained in a description
file, type the /IGNORE[=WARNING], /IGNORE=ERROR, or /IGNORE=FATAL
qualifier explicitly on the MMS command line. You cannot override
the Ignore action-line prefix on the MMS command line.
13 /INTERFACE
/INTERFACE[=DECWINDOWS]
/INTERFACE[=CHARACTER_CELL] (D)
Controls whether MMS invokes the DECwindows Motif user interface
or the character-cell interface. The CHARACTER_CELL qualifier is
the default.
14 /LIST
/LIST[=filespec]
/NOLIST (D)
Controls whether MMS writes dependencies and action lines to
an output file as it processes the description file. These
qualifiers affect the behavior of MMS, but not the execution
of action lines.
When you specify the /LIST qualifier, MMS creates a complete
listing of all dependencies, dependents, and actions that need
to be processed to update the target. MMS creates this listing as
it processes the description file and writes the listing to the
output file, or to SYS$OUTPUT if you did not specify a file.
The /LIST qualifier is useful during the debugging of description
files. You can also use /LIST in combination with the /NOACTION
qualifier to display the dependency list and action lines without
executing any actions.
15 /LOG
/LOG
/NOLOG (D)
Controls whether MMS displays informational messages as it
processes the description file. These qualifiers affect the
behavior of MMS, but not the execution of action lines.
The /LOG qualifier directs MMS to write all informational
messages to your terminal screen while it processes the
description file. The /LOG qualifier is useful for debugging
your description files. These messages indicate what MMS finds
and what it assumes as it processes the description file. You
should include these messages with any MMS Software Performance
Reports (SPRs) you submit. To save these messages in a file, type
the following:
$ DEFINE SYS$OUTPUT MYFILE.LOG
$ MMS/LOG
.
.
.
$ DEASSIGN SYS$OUTPUT
The /NOLOG qualifier prevents MMS from displaying informational
messages. However, if you specify /NOLOG/CHECK_STATUS on the same
command line, MMS does display the informational message that
reports the value of MMS$STATUS.
16 /MACRO
/MACRO=filespec | "macro", . . .
Directs MMS to add to or override the macro definitions in the
description file. This qualifier affects the behavior of MMS but
not the execution of action lines.
The filespec is an OpenVMS file specification or a logical name
that identifies a file of macro definitions. The default file
type is .MMS. The macro string is a macro definition enclosed
in quotation marks. The definition of the macro should always
assign a value to the macro. Use the same format as for macro
definitions in description files, that is, name = "string".
With the /MACRO qualifier, you can specify a macro definition
on the MMS command line. You can also specify a file
of macro definitions to use in your description file.
You can define macros in three locations:
o In a description file
o In a macro definitions file
o On the command line
To specify more than one macro definition on the MMS command
line, enclose the list of macros in parentheses. For example:
$ MMS/MACRO=("A=MAC1", "B=MAC2")
You can also specify both a macro definition and a file on the
same command line. For example:
$ MMS/MACRO=("A=MAC1", MACROS)
17 /OUTPUT
/OUTPUT=filespec
Directs MMS to write action lines and output to the specified
file. Error messages preceded by "%MMS" are not written to this
output file, but instead are written to SYS$ERROR. The /OUTPUT
qualifier affects the behavior of MMS, but not the execution of
action lines.
The filespec is an OpenVMS file specification or a logical name
that identifies the output file. The default file type is .LOG.
If you do not specify the /OUTPUT qualifier on the MMS command
line, MMS writes all action lines, messages, and output to
SYS$OUTPUT.
If you specify the /NOVERIFY qualifier on the same MMS command
line with /OUTPUT, MMS does not write action lines to the output
file.
If you specify /OUTPUT and your command-line interpreter is DCL,
MMS automatically prefixes a dollar sign ($) to any action
line that does not begin with one. Thus, you can use the file
generated by /OUTPUT as a DCL command procedure.
18 /OVERRIDE
/OVERRIDE
/NOOVERRIDE (D)
Controls the order in which MMS applies definitions when it
processes macros. These qualifiers affect the behavior of MMS,
but not the execution of action lines.
When you specify the /OVERRIDE qualifier, MMS overrides the macro
definitions in the description file with CLI symbol definitions.
To find the macro definitions that should have precedence,
MMS looks at symbols defined by the CLI assignment statement,
scanning the CLI symbol table for the body of the macro. If the
body of the macro is not in the CLI symbol table, MMS substitutes
a null string for all invocations of the macro.
The /OVERRIDE qualifier imposes the following order of
application when MMS processes macro definitions:
1. Command line
2. CLI symbol
3. Description file
4. Built-in
Once MMS finds a definition for a macro, it does not search those
locations farther down the list for more definitions. If MMS
finds more than one definition in the same location (such as on a
command line), it uses the last definition it processed, unless
the location is a description file. MMS issues an error message
if a macro is defined more than once in a description file.
The /NOOVERRIDE qualifier imposes the following order, which is
the default hierarchy:
1. Command-line
2. Description file
3. Built-in
4. CLI symbol
19 /REVISE_DATE
/REVISE_DATE
/NOREVISE_DATE (D)
Controls whether MMS changes only the revision dates of all
targets that need updating, or performs the update. These
qualifiers affect the behavior of MMS, not the execution of
action lines.
When you specify the /REVISE_DATE qualifier, MMS changes only the
revision dates of targets that need updating; it does not direct
MMS to execute the action lines that actually do the updating.
If any files are missing, /REVISE_DATE causes MMS to create them.
If MMS cannot create a missing file, or if it cannot update the
revision date of an existing file, it issues an error message.
The /REVISE_DATE qualifier is useful for reducing the number of
superfluous compilations, for example, when you change only a
comment line in a required file. However, /REVISE_DATE can defeat
the purpose of using MMS, so use this qualifier with caution.
As it changes the revision times, MMS writes the name of
the revised files to an output file (or to SYS$OUTPUT if no
file is specified). If you specify the /REVISE_DATE and
/NOVERIFY qualifiers, the names of revised files are suppressed.
Unless you specify a target on the command line, the /REVISE_
DATE qualifier causes MMS to revise the first target (and its
sources) in the description file. If you specify multiple targets
on the command line, those targets and their sources are revised.
/REVISE_DATE does not change the value of MMS$STATUS.
The /REVISE_DATE qualifier has precedence over the /ACTION
qualifier if they both appear on the same command line. In that
case, only /REVISE_DATE is processed.
The /NOREVISE_DATE qualifier directs MMS to build the system
by updating targets as necessary (as long as the /CHECK_STATUS
qualifier is not specified on the same command line).
20 /RULES
/RULES[=filespec] (D)
/NORULES
Controls whether MMS applies user-defined built-in rules and
a suffixes-precedence list when it builds a system. These
qualifiers affect the behavior of MMS, but not the execution
of action lines.
The filespec is an OpenVMS file specification or a logical
name that identifies the file of user-created rules that MMS
is to use. When you supply a file specification with the /RULES
qualifier, MMS replaces the built-in rules it normally uses with
the built-in rules and suffixes list in the file you specify.
The file specified with /RULES has precedence over the file
represented by MMS$RULES.
If you specify /RULES without a file specification, MMS
translates the logical name MMS$RULES to locate the user-defined
built-in rules file. If MMS$RULES is not defined, MMS uses its
own built-in rules.
The /NORULES qualifier prevents MMS from using its built-in
rules or the suffixes-precedence list. It also prevents MMS from
applying user-defined rules and default macros. When you specify
/NORULES, MMS applies only the dependency rules contained in the
description file.
21 /SCA_LIBRARY
/SCA_LIBRARY[=library-name]
/NOSCA_LIBRARY (D)
Controls whether MMS generates an SCA library during the build
process.
When you specify a library name with the /SCA_LIBRARY qualifier,
MMS defines the macro $(SCALIBRARY) to be that library name.
If you use /SCA_LIBRARY without specifying a library name,
SCA$LIBRARY is the value of $(SCALIBRARY). If you do not specify
/SCA_LIBRARY, /NOSCA_LIBRARY is the default.
The macro $(SCA) is defined to be SCA regardless of the setting
of the /SCA_LIBRARY qualifier.
The macro $(MMSQUALIFIERS) contains the setting of the /SCA_
LIBRARY qualifier.
When you specify the /SCA_LIBRARY qualifier, built-in rules for
BASIC, BLISS-32, C, C++, COBOL, DIGITAL Fortran, MACRO, Pascal,
PL/I, and SCAN change.
NOTE
You might choose to defer loading modules into the SCA
library until after all compilations are completed. In
this case, define the default rules for compilation in your
description file to be the same as the default rule provided
by MMS when the /NOSCA_LIBRARY qualifier is specified. You
should also include a .LAST directive, which then loads the
SCA database. For example:
.LAST :
$(SCA) SET LIBRARY $(SCALIBRARY)
$(SCA) LOAD *
22 /SHOW_DESCRIPTION_FILE
/SHOW_DESCRIPTION_FILE (D)
/[NO]SHOW_DESCRIPTION_FILE
Controls whether MMS displays the current description file in the
MMS description file area.
When you specify the /SHOW_DESCRIPTION_FILE qualifier, if the
DECwindows version of LSE is not presently invoked, MMS displays
the current description file in the MMS description file area as
read-only for browsing purposes. If the DECwindows version of LSE
is currently invoked, MMS displays the description file in the
MMS description file area in a modifiable LSE buffer.
The /NOSHOW_DESCRIPTION_FILE qualifier directs MMS to hide the
current description file from the MMS description file area. The
default qualifier is /SHOW_DESCRIPTION_FILE.
23 /SKIP_INTERMEDIATE
/SKIP_INTERMEDIATE
/NOSKIP_INTERMEDIATE (D)
Controls whether MMS builds intermediate source or target
files. These qualifiers affect the behavior of MMS, but not the
execution of action lines.
The /SKIP_INTERMEDIATE qualifier directs MMS to determine whether
a target is up-to-date without rebuilding intermediate files,
unless they need to be updated.
MMS first checks the target date against the dates of its
sources. If the target is newer than its sources, MMS determines
that the target does not need to be rebuilt; if MMS cannot find
some intermediate files, it acts as though they already exist,
and skips over them to check their sources, and so on.
For example, if you have a .C file and an .EXE file, but no .OBJ
file, and the time of the .EXE file is more recent than that
of the .C file, the /SKIP_INTERMEDIATE qualifier prevents MMS
from building the .OBJ file and the .EXE file because the target
is already up-to-date with regard to its nearest source. Using
/SKIP_INTERMEDIATE saves time and disk space.
If the target is older than its sources, MMS determines that
the target does need to be rebuilt. It then ensures that all of
the target's immediate sources exist; if any do not, MMS works
from the bottom up by first rebuilding the missing sources, then
rebuilding the target. If the sources contain include files that
have changed, are located in a CMS library, or both, MMS also
fetches the include files and recompiles the source files, then
rebuilds the system. For example:
!
! SYSTEM2.MMS
!
SYSTEM2 : MAIN.EXE, MOD.EXE
MAIN.EXE : MAIN.OBJ
MAIN.OBJ : MAIN.C, DEFS1.H, DEFS2.H
MOD.OBJ : MOD.C, DEFS2.H
If the include file DEFS1.H changes, MMS does the following when
you specify the /SKIP_INTERMEDIATE qualifier:
1. Determines that one of the target's sources is newer than the
target, and that the target must be rebuilt.
2. Verifies that MAIN.OBJ depends on MAIN.C, which contains the
include files DEFS1.H and DEFS2.H.
3. Fetches MAIN.C, DEFS1.H, and DEFS2.H from the CMS library and
recompiles MAIN.C.
4. Because MAIN.OBJ is now newer than MAIN.EXE, MMS rebuilds
MAIN.EXE.
5. Because none of the sources for MOD.EXE have changed, MMS does
not need to fetch them from CMS, and target SYSTEM2 is now
up-to-date.
The /NOSKIP_INTERMEDIATE qualifier directs MMS to ensure that
all intermediate source files exist and are up-to-date. If any
intermediate source files do not exist, MMS builds them. This is
the default.
24 /VERIFY
/VERIFY (D)
/NOVERIFY
Controls whether MMS displays action lines before executing
them. These qualifiers affect the behavior of MMS, but not the
execution of action lines.
The /VERIFY qualifier directs MMS to display each action line
before executing it. MMS writes action lines either to SYS$OUTPUT
or to a file you specify on the /OUTPUT qualifier.
If you specify the /REVISE_DATE qualifier in combination with the
/VERIFY qualifier, MMS displays the names of files whose dates
have been revised.
When you specify the /NOVERIFY qualifier, MMS suppresses the
display (but not the execution) of action lines. Any error
messages generated by the execution of action lines continue
to be displayed. If you specify the /REVISE_DATE and /NOVERIFY
qualifiers on the same command line, the names of files whose
dates have been revised are not displayed.
The behavior of the /NOVERIFY qualifier is identical to
that of the Silent action-line prefix and the .SILENT
directive. If a description file contains the .SILENT directive, to
override it you must type the /VERIFY qualifier explicitly on the
MMS command line. You cannot override the Silent action-line prefix
from the MMS command line.