Makefile:

- initial checkin.  Needed for 'install' and 'release' targets.

dmake.startup, startup.mk:
	- When dmake finds a startup.mk in the current directory, it
	  parses that file after the system startup.mk.  In this case they're
	  one and the same.  While this shouldn't be a problem, it's
	  causing dmake to crash.  See PR#99.

	  The workaround was to rename startup.mk in this directory to
	  dmake startup.  It is renamed back to its proper name in the
	  recipes to the install and release targets.
This commit is contained in:
gdr-ftp 1998-12-22 15:57:32 +00:00
parent e7f2691599
commit 7de2321a08
2 changed files with 32 additions and 194 deletions

32
build.tools/Makefile Normal file
View File

@ -0,0 +1,32 @@
#
# $Id: Makefile,v 1.1 1998/12/22 15:57:32 gdr-ftp Exp $
#
.INCLUDE: /src/gno/paths.mk
#
# In this directory, we're currently only copying some files verbatim,
# which makes our targets very simple.
#
INSTALL = /usr/bin/install
build:
@/bin/true
install:
$(INSTALL) -d -m755 /usr/local/lib /usr/lib
$(INSTALL) -d -m755 13/RInclude
$(INSTALL) -m644 dmake.startup /usr/local/lib/startup.mk
$(INSTALL) -m644 dmake.startup /usr/lib/startup.mk
$(INSTALL) -m644 builddate.rez 13/RInclude
release:
$(INSTALL) -d -m755 $(RELEASE_DIR)/usr/local/lib $(RELEASE_DIR)/usr/lib
$(INSTALL) -d -m755 $(RELEASE_DIR)/lib/RInclude
$(INSTALL) -m644 dmake.startup $(RELEASE_DIR)/usr/local/lib/startup.mk
$(INSTALL) -m644 dmake.startup $(RELEASE_DIR)/usr/lib/startup.mk
$(INSTALL) -m644 builddate.rez $(RELEASE_DIR)/lib/RInclude
clean clobber:
@/bin/true

View File

@ -1,194 +0,0 @@
# 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 := 17/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) -o $@ $(CFLAGS) $(__OFLAG) -c $<
%$O : %.cc ; $(CC) -o $@ $(CFLAGS) $(__OFLAG) -c $<
# This is a bit of a kludge since there is no pc(1) yet.
%$O : %$P ; $(PC) -o $@ $(PFLAGS) $< keep=$* ; $(MV) $*.a $*.o
%$O : %$S ; $(AS) -o $@ $(ASFLAGS) $(__OFLAG) $<
%$O : %.asm ; $(AS) -o $@ $(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) -o $@ $(CFLAGS) $(__AFLAG) -c $<
%.a : %.cc ; $(CC) -o $@ $(CFLAGS) $(__AFLAG) -c $<
%.a : %$P ; $(PC) -o $@ $(PFLAGS) $< keep=$*
%.a : %$S ; $(AS) -o $@ $(ASFLAGS) $(__AFLAG) $<
%.a : %.asm ; $(AS) -o $@ $(ASFLAGS) $(__AFLAG) $<
# Object files ending in '.root': Force neither '.a' nor '.o'
# Note that since we don't specify the output file name, this set of
# rules may not work well if the object file directory is different
# from the source file hierarchy.
%.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) -o $@ -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)
<B = $(<:b)
<D = $(<:d)
<F = $(<:f)
?B = $(?:b)
?F = $(?:f)
?D = $(?:d)
# Turn warnings back to previous setting.
.SILENT := $(__.SILENT)
# Local startup file if any
#
# GNO: was "_startup.mk"
.INCLUDE .IGNORE: "startup.mk"