INCLUDE pub_root:[lib.mms]include.mms .SUFFIXES .SUFFIXES .EXE .OBJ .PAS .SYM .DEF .HLB .HLP .RNH .IFDEF DEBUG PFLAGS = /NOLIST/DEBUG/NOOPTIMIZE/OBJECT=$(MMS$TARGET_NAME) .ELSE PFLAGS = /NOLIST/OBJECT=$(MMS$TARGET_NAME) .ENDIF HELPLIB = pub_root:[doc]public.hlb NAME = CALENDAR DESTDIR = $(PUBDIR) PROT = $(WPROT) OUTFILES = descrip.mms;,calendar.hlp;,$(DESTDIR)calendar.exe; build : calendar.exe calendar.hlp $ write sys$output "$(NAME): Build finished." install : build $(DESTDIR)calendar.exe calendar.cld $(HELPLIB)(calendar) $ write sys$output "$(NAME): Installation finished." ! ! Assumes the following logical names and symbols: ! TAPE: - tape drive where distribution tape will be mounted. ! distfile - .com file to be executed on home system to prepare distribution ! instfile - .com file to be executed on target system to install distribution ! ! Note: this target is not meant to be used except from the distribution ! command file. distribute : $ thisdisk = f$logical("SYS$DISK") $ thisdir = f$directory() $ open/append z 'distfile $ write z "$ set default ''thisdisk'''thisdir'" $ write z "$ $(BACKUP) -" $ write z "$(OUTFILES) -" $ write z "TAPE:$(NAME).bkp/save" $ close z $ open/append y 'instfile' $ write y "$ $(BACKUP) TAPE:$(NAME).bkp ''thisdisk'[...]*.*.*" $ ! Extra distribution commands here $ write y "$ library/help $(HELPLIB) ''thisdisk'''thisdir'calendar" $ close y $ write sys$output "$(NAME): Distribution finished." fixprot : $ set prot=$(PROT) $(DESTDIR)calendar.exe $ set file/owner=parent $(DESTDIR)calendar.exe $(DESTDIR)calendar.exe : calendar.exe $ copy $< $@ $ set prot=$(PROT) $@ $ set file/owner=parent $@ $ purge $@ $(DESTDIR)calendar.cld : calendar.cld $ copy $< $@ $ set prot=$(PROT) $@ $ set file/owner=parent $@ $ purge $@ calendar.exe : calendar.obj $ $(LINK) $(LINKFLAGS) $+ calendar.obj : calendar.pas $ $(PASCAL) $(PFLAGS) $+