From 5e645be9360651016235be2126d3d1c478f4159d Mon Sep 17 00:00:00 2001 From: gdr-ftp Date: Thu, 5 Feb 1998 16:37:02 +0000 Subject: [PATCH] - removed makefile.mk; it was only used for mkso (which has moved to a different directory) - at Derek's request, added the dmake startup.mk file that I (Devin) use for /usr/lib/startup.mk. (This file is expected to be in /usr/local/lib unless you have set up your environment to change the location.) --- build.tools/dmake.startup | 191 ++++++++++++++++++++++++++++++++++++++ build.tools/makefile.mk | 21 ----- build.tools/startup.mk | 191 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 382 insertions(+), 21 deletions(-) create mode 100644 build.tools/dmake.startup delete mode 100644 build.tools/makefile.mk create mode 100644 build.tools/startup.mk diff --git a/build.tools/dmake.startup b/build.tools/dmake.startup new file mode 100644 index 0000000..be9495e --- /dev/null +++ b/build.tools/dmake.startup @@ -0,0 +1,191 @@ +# Startup file for Apple IIgs environment (Apple IIgs version 0.4.3b) +# See the documentation for a description of internally defined macros. +# +# Disable warnings for macros redefined here that were given +# on the command line. +__.SILENT := $(.SILENT) +.SILENT := yes + +# Configuration parameters for DMAKE startup.mk file +# Set these to NON-NULL if you wish to turn the parameter on. +_HAVE_RCS := # yes => RCS is installed. +_HAVE_SCCS := # yes => SCCS is installed. + +# Applicable suffix definitions +A := .lib # Libraries +E := # Executables +F := .f # Fortran +O := .o # Objects +P := .p # Pascal +S := .s # Assembler sources +V := ,v # RCS suffix + +# Recipe execution configuration +SHELL := /bin/gsh +#SHELL := #/bin/sh +#SHELLFLAGS := -ce +GROUPSHELL := $(SHELL) +GROUPFLAGS := +# SHELLMETAS := |();&<>?*][$$:\\#`'" # original +SHELLMETAS := |;&<>?*][$$\\'"~^ # for gsh +GROUPSUFFIX := +DIVFILE = $(TMPFILE) + +# Standard C-language command names and flags + #CPP := #/lib/cpp # C-preprocessor + CPP := /usr/bin/cpp # C-preprocessor + CC := 17/occ # C-compiler and flags + MAINFLAGS += -i # flags for file that has main() + VAFLAGS += -i -O8 # flags for files that use variable + # argument lists. You may want -r, too. + CFLAGS += -i # flags for other objects. You may want + # -r, too. + +# added flags for forcing .a and .o files +# Note that this will screw up with the rules for object files if +# you change $(CC) or $(AS)!! +__AFLAG = -a1 +__OFLAG = -a0 + + AS := $(CC) #as # Assembler and flags + ASFLAGS += -c + + LD = $(CC) # Loader and flags + LDFLAGS += + LDLIBS = + +# Definition of $(MAKE) macro for recursive makes. + MAKE = $(MAKECMD) $(MFLAGS) + +# Definition of Print command for this system. + PRINT = lpr + +# Language and Parser generation Tools and their flags + YACC := bison # !standard yacc + YFLAGS += -y + YTAB := y.tab # yacc output files name stem. + + LEX := flex # !standard lex + LFLAGS += + LEXYY := lex.yy # lex output file + +# Other Compilers, Tools and their flags + PC := compile #pc # pascal compiler + PCFLAGS += -E -P + RC := #f77 # ratfor compiler + FC := #f77 # fortran compiler + REZ := occ # resource compiler (we should use rc(1)) + REZFLAGS += + + CATREZ := /usr/bin/catrez # used for copying resource forks + + CO := co # check out for RCS + COFLAGS += -q + + AR := makelib #ar # archiver + ARFLAGS+= #ruv + + RM := /bin/cp -p rm # remove a file command + RMFLAGS += + + CP := /bin/cp # copy files command + CPFLAGS += -f + + MV := /bin/cp -p mv # move files command + MVFLAGS += + +# Implicit generation rules for making inferences. +# We don't provide .yr or .ye rules here. They're obsolete. +# Rules for making *$O +# Note that $(__OFLAG) is an 'occ' thing and that the rules for pascal +# files will not really work since '.a' is generated by compile. + %$O : %.c ; $(CC) $(CFLAGS) $(__OFLAG) -c $< + %$O : %.cc ; $(CC) $(CFLAGS) $(__OFLAG) -c $< +# This is a bit of a kludge since there is no pc(1) yet. + %$O : %$P ; $(PC) $(PFLAGS) $< keep=$* ; $(MV) $*.a $*.o + %$O : %$S ; $(AS) $(ASFLAGS) $(__OFLAG) $< + %$O : %.asm ; $(AS) $(ASFLAGS) $(__OFLAG) $< +# %$O : %.cl ; class -c $< +# %$O : %.e %.r %.F %$F +# $(FC) $(RFLAGS) $(EFLAGS) $(FFLAGS) -c $< + +# We have two more suffixes for object files, so the above stuff +# is repeated for them. +# Object files ending in '.a': Force '.a' with occ + + %.a : %.c ; $(CC) $(CFLAGS) $(__AFLAG) -c $< + %.a : %.cc ; $(CC) $(CFLAGS) $(__AFLAG) -c $< + %.a : %$P ; $(PC) $(PFLAGS) $< keep=$* + %.a : %$S ; $(AS) $(ASFLAGS) $(__AFLAG) $< + %.a : %.asm ; $(AS) $(ASFLAGS) $(__AFLAG) $< + +# Object files ending in '.root': Force neither '.a' nor '.o' + + %.root : %.c ; $(CC) $(CFLAGS) -c $< + %.root : %.cc ; $(CC) $(CFLAGS) -c $< + %.root : %$P ; $(PC) $(PFLAGS) $< keep=$* + %.root : %$S ; $(AS) $(ASFLAGS) $< + %.root : %.asm ; $(AS) $(ASFLAGS) $< + +# Resource descriptions in REZ format + %.r : %.rez ; $(REZ) -c $(REZFLAGS) $< + +# Executables + %$E : %$O ; $(LD) $(LDFLAGS) -o $@ $< $(LDLIBS) + +# lex and yacc rules + %.c : %.y ; $(YACC) $(YFLAGS) $<; mv $(YTAB).c $@ + %.c : %.l ; $(LEX) $(LFLAGS) $<; mv $(LEXYY).c $@ + +# This rule tells how to make *.out from it's immediate list of prerequisites +# UNIX only. + %.out :; $(LD) $(LDFLAGS) -o $@ $^ $(LDLIBS) + +# RCS support +.IF $(_HAVE_RCS) + % : %$V $$(@:d)RCS/$$(@:f)$V;- $(CO) $(COFLAGS) $@ + .NOINFER : %$V $$(@:d)RCS/$$(@:f)$V +.END + +# SCCS support +.IF $(_HAVE_SCCS) + % : s.% ; get $< + .NOINFER : s.% +.END + +# Recipe to make archive files. +%$A : ; @echo "dmake has no default rule for libraries" +#[ +# $(AR) $(ARFLAGS) $@ $? +# $(RM) $(RMFLAGS) $? +# ranlib $@ +#] + +# DMAKE uses this recipe to remove intermediate targets +# IIgs version note: DON'T put these on the same line while the +# Gno kernel still has the sub-shell bug. (See readme/apple.IIgs.) +.REMOVE : + /usr/local/bin/rmroot $< + $(RM) -f $< + +# AUGMAKE extensions for SYSV compatibility +@B = $(@:b) +@D = $(@:d) +@F = $(@:f) +"*B" = $(*:b) +"*D" = $(*:d) +"*F" = $(*:f) + RCS is installed. +_HAVE_SCCS := # yes => SCCS is installed. + +# Applicable suffix definitions +A := .lib # Libraries +E := # Executables +F := .f # Fortran +O := .o # Objects +P := .p # Pascal +S := .s # Assembler sources +V := ,v # RCS suffix + +# Recipe execution configuration +SHELL := /bin/gsh +#SHELL := #/bin/sh +#SHELLFLAGS := -ce +GROUPSHELL := $(SHELL) +GROUPFLAGS := +# SHELLMETAS := |();&<>?*][$$:\\#`'" # original +SHELLMETAS := |;&<>?*][$$\\'"~^ # for gsh +GROUPSUFFIX := +DIVFILE = $(TMPFILE) + +# Standard C-language command names and flags + #CPP := #/lib/cpp # C-preprocessor + CPP := /usr/bin/cpp # C-preprocessor + CC := 17/occ # C-compiler and flags + MAINFLAGS += -i # flags for file that has main() + VAFLAGS += -i -O8 # flags for files that use variable + # argument lists. You may want -r, too. + CFLAGS += -i # flags for other objects. You may want + # -r, too. + +# added flags for forcing .a and .o files +# Note that this will screw up with the rules for object files if +# you change $(CC) or $(AS)!! +__AFLAG = -a1 +__OFLAG = -a0 + + AS := $(CC) #as # Assembler and flags + ASFLAGS += -c + + LD = $(CC) # Loader and flags + LDFLAGS += + LDLIBS = + +# Definition of $(MAKE) macro for recursive makes. + MAKE = $(MAKECMD) $(MFLAGS) + +# Definition of Print command for this system. + PRINT = lpr + +# Language and Parser generation Tools and their flags + YACC := bison # !standard yacc + YFLAGS += -y + YTAB := y.tab # yacc output files name stem. + + LEX := flex # !standard lex + LFLAGS += + LEXYY := lex.yy # lex output file + +# Other Compilers, Tools and their flags + PC := compile #pc # pascal compiler + PCFLAGS += -E -P + RC := #f77 # ratfor compiler + FC := #f77 # fortran compiler + REZ := occ # resource compiler (we should use rc(1)) + REZFLAGS += + + CATREZ := /usr/bin/catrez # used for copying resource forks + + CO := co # check out for RCS + COFLAGS += -q + + AR := makelib #ar # archiver + ARFLAGS+= #ruv + + RM := /bin/cp -p rm # remove a file command + RMFLAGS += + + CP := /bin/cp # copy files command + CPFLAGS += -f + + MV := /bin/cp -p mv # move files command + MVFLAGS += + +# Implicit generation rules for making inferences. +# We don't provide .yr or .ye rules here. They're obsolete. +# Rules for making *$O +# Note that $(__OFLAG) is an 'occ' thing and that the rules for pascal +# files will not really work since '.a' is generated by compile. + %$O : %.c ; $(CC) $(CFLAGS) $(__OFLAG) -c $< + %$O : %.cc ; $(CC) $(CFLAGS) $(__OFLAG) -c $< +# This is a bit of a kludge since there is no pc(1) yet. + %$O : %$P ; $(PC) $(PFLAGS) $< keep=$* ; $(MV) $*.a $*.o + %$O : %$S ; $(AS) $(ASFLAGS) $(__OFLAG) $< + %$O : %.asm ; $(AS) $(ASFLAGS) $(__OFLAG) $< +# %$O : %.cl ; class -c $< +# %$O : %.e %.r %.F %$F +# $(FC) $(RFLAGS) $(EFLAGS) $(FFLAGS) -c $< + +# We have two more suffixes for object files, so the above stuff +# is repeated for them. +# Object files ending in '.a': Force '.a' with occ + + %.a : %.c ; $(CC) $(CFLAGS) $(__AFLAG) -c $< + %.a : %.cc ; $(CC) $(CFLAGS) $(__AFLAG) -c $< + %.a : %$P ; $(PC) $(PFLAGS) $< keep=$* + %.a : %$S ; $(AS) $(ASFLAGS) $(__AFLAG) $< + %.a : %.asm ; $(AS) $(ASFLAGS) $(__AFLAG) $< + +# Object files ending in '.root': Force neither '.a' nor '.o' + + %.root : %.c ; $(CC) $(CFLAGS) -c $< + %.root : %.cc ; $(CC) $(CFLAGS) -c $< + %.root : %$P ; $(PC) $(PFLAGS) $< keep=$* + %.root : %$S ; $(AS) $(ASFLAGS) $< + %.root : %.asm ; $(AS) $(ASFLAGS) $< + +# Resource descriptions in REZ format + %.r : %.rez ; $(REZ) -c $(REZFLAGS) $< + +# Executables + %$E : %$O ; $(LD) $(LDFLAGS) -o $@ $< $(LDLIBS) + +# lex and yacc rules + %.c : %.y ; $(YACC) $(YFLAGS) $<; mv $(YTAB).c $@ + %.c : %.l ; $(LEX) $(LFLAGS) $<; mv $(LEXYY).c $@ + +# This rule tells how to make *.out from it's immediate list of prerequisites +# UNIX only. + %.out :; $(LD) $(LDFLAGS) -o $@ $^ $(LDLIBS) + +# RCS support +.IF $(_HAVE_RCS) + % : %$V $$(@:d)RCS/$$(@:f)$V;- $(CO) $(COFLAGS) $@ + .NOINFER : %$V $$(@:d)RCS/$$(@:f)$V +.END + +# SCCS support +.IF $(_HAVE_SCCS) + % : s.% ; get $< + .NOINFER : s.% +.END + +# Recipe to make archive files. +%$A : ; @echo "dmake has no default rule for libraries" +#[ +# $(AR) $(ARFLAGS) $@ $? +# $(RM) $(RMFLAGS) $? +# ranlib $@ +#] + +# DMAKE uses this recipe to remove intermediate targets +# IIgs version note: DON'T put these on the same line while the +# Gno kernel still has the sub-shell bug. (See readme/apple.IIgs.) +.REMOVE : + /usr/local/bin/rmroot $< + $(RM) -f $< + +# AUGMAKE extensions for SYSV compatibility +@B = $(@:b) +@D = $(@:d) +@F = $(@:f) +"*B" = $(*:b) +"*D" = $(*:d) +"*F" = $(*:f) +