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.