VMS Help  —  MMS  Examples

1  –  Description File

    The following description file directs MMS to build MYPROG.EXE using
    the appropriate architecture-dependent *_DEFS.REQ:

         ! Macro definitions
         LIBRARYMODULES = A, B, C, D, E
         LIBRARIES = MYPROG.OLB($(LIBRARYMODULES)) - ! project library
                     SYS$LIBRARY:CRTLIB.OLB          ! C Runtime Library
         ! Dependencies
         MYPROG.EXE : $(LIBRARIES)
              LINK/EXEC=MYPROG MYPROG/LIB/INCLUDE=(A)
         .IF MMSIA64
         A.OBJ, B.OBJ : IA64_DEFS.REQ
         .ELSIF MMSALPHA
         A.OBJ, B.OBJ : ALPHA_DEFS.REQ
         .ELSE
         A.OBJ, B.OBJ : VAX_DEFS.REQ
         .ENDIF
         D.OBJ, E.OBJ : COMMON.H
         E.OBJ : DATA.H

    If this file is named DESCRIP.MMS, the following command  causes  MMS
    to use the file to build MYPROG.EXE:

         $ MMS

2  –  MMS Actions

    If the current default directory contains the following files:

             A.BLI;1             B.BLI;1             C.MAR;1
             COMMON.H;1          D.C;1               DATA.H;1
             DEFS.REQ;1          DESCRIP.MMS;1       E.C;1

    MMS will execute the following actions as  it  processes  the  sample
    description file:

         BLISS  A.BLI
         IF "''F$SEARCH("MYPROG.OLB")'" .EQS. "" THEN LIBRARY/CREATE
         MYPROG.OLB
         LIBRARY/REPLACE MYPROG.OLB A.OBJ
         BLISS  B.BLI
         IF "''F$SEARCH("MYPROG.OLB")'" .EQS. "" THEN LIBRARY/CREATE
         MYPROG.OLB
         LIBRARY/REPLACE MYPROG.OLB B.OBJ
         MACRO C.MAR
         IF "''F$SEARCH("MYPROG.OLB")'" .EQS. "" THEN LIBRARY/CREATE
         MYPROG.OLB
         LIBRARY/REPLACE MYPROG.OLB C.OBJ
         CC /NOLIST D.C
         IF "''F$SEARCH("MYPROG.OLB")'" .EQS. "" THEN LIBRARY/CREATE
         MYPROG.OLB
         LIBRARY/REPLACE MYPROG.OLB D.OBJ
         CC /NOLIST E.C
         IF "''F$SEARCH("MYPROG.OLB")'" .EQS. "" THEN LIBRARY/CREATE
         MYPROG.OLB
         LIBRARY/REPLACE MYPROG.OLB E.OBJ
         LINK/EXEC=MYPROG MYPROG/LIB/INCLUDE=(A)

    These actions result in the production of all the intermediate  files
    needed  to  produce  MYPROG.EXE.   If  you then delete all the object
    files (.OBJ), and run  MMS  again  using  the  /SKIP  qualifier,  MMS
    informs you that the target MYPROG.EXE is already up-to-date.
Close Help