!++ ! DESCRIP.MMS ! ! MMS (MMK) description file for building MMK. ! ! N.B.: If you are on an AXP system and using DEC/MMS, ! use the command MMS/MACRO=(__AXP__=1) to build MMK, ! so you get the right linker options file. This may ! or may not work; some versions of MMS may not be ! able to handle some of the syntax in this file. ! ! 28-SEP-1993 V1.0 Madison Initial commenting. ! 25-JUL-1994 V1.1 Madison Update for V3.2. !-- ! ! Set up some macros we'll need ! .IFDEF __MMK_V32__ .IFDEF __AXP__ ARCH = AXP MMKCOPT = MMK_COMPILE_RULES.ALPHA_OPT OPTFILE = MMK.ALPHA_OPT .ELSE ARCH = VAX MMKCOPT = MMK_COMPILE_RULES.OPT OPTFILE = MMK.OPT .ENDIF .FIRST @ IF F$PARSE("[.BIN-$(ARCH)]") .EQS. "" THEN CREATE/DIR [.BIN-$(ARCH)] {}.C{[.BIN-$(ARCH)]}.OBJ : $(CC)$(CFLAGS) $(MMS$SOURCE) {}.MSG{[.BIN-$(ARCH)]}.OBJ : $(MESSAGE) $(MSGFLAGS) $(MMS$SOURCE) PFX = [.BIN-$(ARCH)] MMKCLOC = SYS$DISK:$(PFX) .ELSE ! MMK pre-V3.2, or DEC/MMS .IFDEF __AXP__ OPT = .ALPHA_OPT .ELSE OPT = .OPT .ENDIF PFX = MMKCLOC = SYS$DISK:[] MMKCOPT = MMK_COMPILE_RULES$(OPT) OPTFILE = MMS_MMK$(OPT) .ENDIF ! ! Make sure we compile /NOOPT when we compile /DEBUG. ! .IFDEF DBG .IFDEF NOOPT .ELSE NOOPT = /NOOPT .ENDIF .ENDIF ! ! Modules for building MMK ! OBJECTS = MMK,FILEIO,MEM,GET_RDT,SP_MGR,MISC,OBJECTS,- SYMBOLS,READDESC,BUILD_TARGET,PARSE_DESCRIP,CMS_INTERFACE,- PARSE_OBJECTS,PARSE_TABLES,MMK_MSG,MMK_CLD,DEFAULT_RULES ! ! Modules for building the rules compiler ! MMKCMODS = FILEIO,MEM,MISC,OBJECTS,SYMBOLS,READDESC,PARSE_DESCRIP,- PARSE_OBJECTS,PARSE_TABLES,MMK_MSG ! ! The AXP default rules are slightly different from the VAX default rules ! .IFDEF __AXP__ RULES = MMK_DEFAULT_RULES_AXP .ELSE RULES = MMK_DEFAULT_RULES .ENDIF CFLAGS = $(CFLAGS)$(DBG)$(NOOPT)/NOLIST$(LIS)$(DEFINE) LINKFLAGS = /EXEC=$(MMS$TARGET)/NOTRACE$(DBG)/NOMAP$(MAP) $(PFX)MMK.EXE : $(PFX)MMK.OLB($(OBJECTS)),$(OPTFILE) $(LIBR)/COMPRESS/OUTPUT=$(PFX)MMK.OLB $(PFX)MMK.OLB $(LINK)$(LINKFLAGS) $(OPTFILE)/OPT ! ! We only try to generate the message codes .H file from the .MSG file ! if GENMSG is installed ! .IFDEF GENMSG MMK_MSG.H : MMK_MSG.MSG @ GENMSG := $(GENMSG) GENMSG $(MMS$SOURCE) $(MMS$TARGET) .ENDIF $(PFX)MEM.OBJ, $(PFX)GET_RDT.OBJ, $(PFX)SP_MGR.OBJ : MMK.H $(PFX)SYMBOLS.OBJ, $(PFX)OBJECTS.OBJ, $(PFX)MISC.OBJ : MMK.H, GLOBALS.H $(PFX)READDESC.OBJ, $(PFX)BUILD_TARGET.OBJ : MMK.H, MMK_MSG.H, GLOBALS.H $(PFX)PARSE_DESCRIP.OBJ, $(PFX)PARSE_OBJECTS.OBJ : MMK.H, GLOBALS.H, MMK_MSG.H, TPADEF.H $(PFX)CMS_INTERFACE.OBJ : CMS_INTERFACE.C, MMK.H, CMSDEF.H, GLOBALS.H $(PFX)MMK.OBJ : MMK.H, MMK_MSG.H $(PFX)DEFAULT_RULES.OBJ : MMK.H, GLOBALS.H, $(RULES).H $(RULES).H : $(RULES).MMS, $(PFX)MMK_COMPILE_RULES.EXE MMKC := $$(MMKCLOC)MMK_COMPILE_RULES.EXE MMKC/OUTPUT=$(MMS$TARGET) $(MMS$SOURCE) MMKCOBJ = $(PFX)MMK_COMPILE_RULES.OBJ,$(PFX)GENSTRUC.OBJ,$(PFX)MMK_COMPILE_RULES_CLD.OBJ $(PFX)MMK_COMPILE_RULES.EXE : $(MMKCOBJ),$(PFX)MMK.OLB($(MMKCMODS)),$(MMKCOPT) $(LINK)$(LINKFLAGS)/nodebug $(MMKCOBJ),$(PFX)MMK.OLB/LIB,SYS$DISK:[]$(MMKCOPT)/opt $(PFX)MMK_COMPILE_RULES.OBJ : MMK.H, MMK_MSG.H $(PFX)GENSTRUC.OBJ : MMK.H, GLOBALS.H ! ! The help file ! MMK_HELP.HLP : MMK_HELP.RNH ! ! Documentation ! MMK_DOC.PS : MMK_DOC.SDML,MMK_DEFAULT_RULES.MMS,MMK_DEFAULT_RULES_AXP.MMS DOCUMENT/CONTENTS/NOPRINT/DEVICE=BLANK_PAGES/OUTPUT=$(MMS$TARGET) $(MMS$SOURCE) SOFTWARE.REFERENCE PS MMK_DOC.TXT : MMK_DOC.SDML,MMK_DEFAULT_RULES.MMS,MMK_DEFAULT_RULES_AXP.MMS DOCUMENT/CONTENTS/NOPRINT/OUTPUT=$(MMS$TARGET) $(MMS$SOURCE) SOFTWARE.REFERENCE MAIL ! ! Building the kit. Note that my foreign command symbol for ZIP is ! PKZIP, rather than just plain ZIP, because I use ZIP for something else. -mdm ! ZIP = PKZIP KIT : MMK.ZIP @ ! MMK.ZIP : DISTRIBUTION, SOURCE IF F$SEARCH("$(MMS$TARGET)") .NES. "" THEN DELETE $(MMS$TARGET);* PURGE [.DIST...]*.* SET DEFAULT [.DIST] $(ZIP) -r "-V" [-]$(MMS$TARGET) *.*; SET DEFAULT [-] TREDEL DIST.DIR TAPE : DISTRIBUTION, SOURCE ROOT = F$PARSE("DIST.DIR",,,"DEVICE","NO_CONCEAL")+F$PARSE("DIST.DIR",,,"DIRECTORY","NO_CONCEAL")-"]["-"]"+".]" DEFINE MMK_ROOT 'ROOT'/TRANSLATION=CONCEAL BACKUP/LOG=TAPE.LIS MMK_ROOT:[DIST...]*.*; $(TAPE)MMK.BCK/SAVE/INTERCHANGE TREDEL DIST.DIR DISTRIBUTION : DIST_PREP, DIST_DOC, DIST_BIN @ ! DIST_PREP : IF F$SEARCH("DIST.DIR") .NES. "" THEN TREDEL DIST.DIR CREATE/DIRECTORY [.DIST] DIST_DOC : AAAREADME.DOC,AAAREADME.TOO,AAAREADME.INSTALL,LINK.COM,MMK_HELP.HLP,- MMK_DOC.PS,MMK_DOC.TXT,MMK.OPT,MMK.ALPHA_OPT,- MMK_DEFAULT_RULES.MMS,MMK_DEFAULT_RULES_AXP.MMS,CROSS_ALPHA.MMS PURGE $(MMS$SOURCE_LIST) BACKUP $(MMS$SOURCE_LIST) [.DIST...]/OWNER=PARENT DIST_BIN : [.BIN-VAX]MMK.OLB,[.BIN-AXP]MMK.OLB PURGE [.BIN-*]MMK.OLB BACKUP [.BIN-VAX]MMK.OLB [.DIST.BIN-VAX]*.*/OWNER=PARENT BACKUP [.BIN-AXP]MMK.OLB [.DIST.BIN-AXP]*.*/OWNER=PARENT SOURCE : MMK.C,FILEIO.C,MEM.C,GET_RDT.C,SP_MGR.C,- MISC.C,OBJECTS.C,SYMBOLS.C,READDESC.C,BUILD_TARGET.C,PARSE_DESCRIP.C,- PARSE_OBJECTS.C,PARSE_TABLES.MAR,MMK_MSG.MSG,MMK_CLD.CLD,- MMK.H,GLOBALS.H,TPADEF.H,MMK_MSG.H,CMSDEF.H,CMS_INTERFACE.C,- MHDDEF.H,CLIDEFS.H,DESCRIP.MMS,MMK.OPT,MMK.ALPHA_OPT,- MMK_COMPILE_RULES.C,GENSTRUC.C,DEFAULT_RULES.C,MMK_COMPILE_RULES.OPT,- MMK_COMPILE_RULES.ALPHA_OPT,MMK_COMPILE_RULES_CLD.CLD,- MMK_DEFAULT_RULES.MMS,MMK_DEFAULT_RULES_AXP.MMS,CROSS_ALPHA.MMS,- MMK_HELP.RNH,MMK_DOC.SDML,MMS_MMK.OPT,MMS_MMK.ALPHA_OPT PURGE $(MMS$SOURCE_LIST) CREATE/DIRECTORY [.DIST.SOURCE] BACKUP $(MMS$SOURCE_LIST) [.DIST.SOURCE]/OWNER=PARENT