VMS Help MMS, Qualifiers, /SKIP_INTERMEDIATE *Conan The Librarian (sorry for the slow response - running on an old VAX) |
/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.
|