DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ M T

⟦ce6716f0a⟧ TextFile

    Length: 7061 (0x1b95)
    Types: TextFile
    Names: »Makefile.200«

Derivation

└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki
    └─ ⟦this⟧ »EUUGD11/gnu-31mar87/scheme/microcode/Makefile.200« 

TextFile

#	Makefile for C-Scheme
#	Change the next few lines to reflect different parameters

#	For hp9000s200 only: 
#	If you do not have the new compiler, change the following two lines
CC = new-cc # replace with cc, this assumes the new compiler is called new-cc
FLAGS200 = -Dnew_cc -DMC68020 # remove

MACVAX = -Dbsd # -Dvax -Dunix done by C preprocessor
MAC200 = -Dhpux $(FLAGS200) # -Dhp9000s200 -Dunix done by C preprocessor
MAC500 = -Dhpux -Dsystem3 # -Dhp9000s500 -Dunix done by C preprocessor
MACCYB = -Dcyber180 # There might be a symbol already defined, but...
MACSUN = -Dsun -Dunix # Maybe -Dsun3 also ?
MAC = $(MAC200)

# Source directory and default runtime system image
BAND = -DDEFAULT_BAND_NAME=\"/local/src/scheme/rel4/bin/scheme.bin\"
SPATH = -DSCHEME_SOURCES_PATH=\"/local/src/scheme/rel4/\"

# User defined primitives.  Add files as appropriate.
USER_PRIM_SOURCES = bitops.c dumpworld.c fetchparam.c process.c # sample.c
USER_PRIM_OBJECTS = bitops.o dumpworld.o fetchparam.o process.o # sample.o
# Switches to compiler/linker for Additional Primitives
USWITCHES = -g

# Extra flags.
EFLAG = # -DCOMPILE_STEPPER

# Compiler availability.  Only on BSD Vax now, and barely.
CFILE = # compiler.o # Compiler interface object file.
CFLAG = # -DCOMPILER # Flag for C macro expander.

# Additional libraries.
LIB = -ltermcap -l881 -ldd300h -lsb1 -lsb2

SYS_PRIM_SOURCES = bobcat.c # xdebug.c athena.c
SYS_PRIM_OBJECTS = bobcat.o # xdebug.o athena.o

# The following lines should not change unless new source files are added.

PRIM_SOURCES = $(SYS_PRIM_SOURCES) $(USER_PRIM_SOURCES)
PRIM_OBJECTS = $(SYS_PRIM_OBJECTS) $(USER_PRIM_OBJECTS) usrdef.o 

SWITCHES = $(MAC) $(BAND) $(SPATH) $(EFLAG) $(CFLAG)
PSWITCHES = -DCOMPILE_HISTORY $(USWITCHES) $(SWITCHES)

OBJ0= interpret.oo regblock.oo os.oo $(CFILE)
OBJ1= bitstr.oo debug.oo daemon.oo extern.oo file.oo fixnum.oo	\
      hooks.oo hunk.oo io.oo list.oo nihil.oo step.oo \
      string.oo utils.oo vector.oo
OBJ2= boot.oo prim.oo
OBJ3= lookup.oo
OBJ4= fasdump.oo fasload.oo
OBJ5= gcloop.oo purify.oo
OBJ6= bignum.oo flonum.oo generic.oo
OBJ7= storage.oo
OSWITCHES = -O $(SWITCHES) -DCOMPILE_HISTORY

OBJD0= interpret.do regblock.do os.do bkpt.do $(CFILE)
OBJD1= bitstr.do debug.do daemon.do extern.do file.do fixnum.do	\
       hooks.do hunk.do io.do list.do nihil.do step.do \
       string.do utils.do vector.do
OBJD2= boot.do prim.do
OBJD3= lookup.do
OBJD4= fasdump.do fasload.do
OBJD5= gcloop.do purify.do
OBJD6= bignum.do flonum.do generic.do
OBJD7= storage.do
DSWITCHES = -g $(SWITCHES) -DENABLE_DEBUGGING_TOOLS -DCOMPILE_HISTORY

# Futures
F_PRIM_SOURCES = $(PRIM_SOURCES) future.c intercom.c
F_PRIM_OBJECTS = $(USER_PRIM_OBJECTS) $(SYS_PRIM_OBJECTS) \
                 future.fo intercom.fo fusrdef.o
OBJF0= interpret.fo regblock.fo os.fo $(CFILE)
OBJF1= bitstr.fo debug.fo daemon.fo extern.fo file.fo fixnum.fo	\
       hooks.fo hunk.fo io.fo list.fo nihil.fo step.fo \
       string.fo utils.fo vector.fo
OBJF2= boot.fo prim.fo
OBJF3= lookup.fo
OBJF4= fasdump.fo fasload.fo
OBJF5= gcloop.fo purify.fo
OBJF6= bignum.fo flonum.fo generic.fo
OBJF7= storage.fo
FSWITCHES = -g $(SWITCHES) -DCOMPILE_FUTURES # -DENABLE_DEBUGGING_TOOLS

# This tells make how to generate the scheme object files

.SUFFIXES: .do .oo .o .s .opp .dpp .fo
.c.opp: ; @echo "#** Generating" $@
	make Breakup
	cc -E $(OSWITCHES) $*.c | \
	Breakup | \
	sed -e 's/^#.*//' -e 's/^[ 	]*$$//' -e 's/^\f

$$//' | \
	sed -n -e '/^..*/p' > $*.opp
.c.dpp: ; @echo "#** Generating" $@
	make Breakup
	cc -E $(DSWITCHES) $*.c | \
	Breakup | \
	sed -e 's/^#.*//' -e 's/^[ 	]*$$//' -e 's/^\f

$$//' | \
	sed -n -e '/^..*/p' > $*.dpp
.c.oo: ; @echo "#**   Generating" $@ because of $?
	$(CC) -c $(OSWITCHES) $*.c
	rm -f $*.oo
	mv $*.o $*.oo
.c.do: ; @echo "#**   Generating" $@ because of $?
	$(CC) -c $(DSWITCHES) $*.c
	rm -f $*.do
	mv $*.o $*.do
.c.fo: ; @echo "#**   Generating" $@ because of $?
	$(CC) -c $(FSWITCHES) $*.c
	rm -f $*.fo
	mv $*.o $*.fo
.c.o: ; @echo "#**   Generating" $@ because of $?
	$(CC) -c $(PSWITCHES) $*.c
.c.s:
	$(CC) -S $(OSWITCHES) $*.c

# Here are the main blocks to make

all: scheme Psbtobin

world: all Bintopsb Breakup Wsize Ppband dscheme fscheme

remove:
	rm -f *.o *.oo *.do *.fo usrdef.c fusrdef.c
	rm -f scheme Psbtobin Bintopsb Wsize Ppband dscheme fscheme Breakup

scheme: $(OBJ0) $(OBJ1) $(OBJ2) $(OBJ3) $(OBJ4) $(OBJ5) \
	$(OBJ6) $(OBJ7) $(PRIM_OBJECTS)
	@echo "#**   Re-linking" $@ because of $?
	rm -f scheme
	$(CC) -o scheme $(OBJ0) $(OBJ1) $(OBJ2) $(OBJ3)		\
                     $(OBJ4) $(OBJ5) $(OBJ6) $(OBJ7)		\
                     $(PRIM_OBJECTS) $(LIB) -lm

dscheme: $(OBJD0) $(OBJD1) $(OBJD2) $(OBJD3) $(OBJD4) $(OBJD5) \
	$(OBJD6) $(OBJD7) $(PRIM_OBJECTS)
	@echo "#**   Re-linking" $@ because of $?
	rm -f dscheme
	$(CC) -g -o dscheme $(OBJD0) $(OBJD1) $(OBJD2) $(OBJD3) \
                        $(OBJD4) $(OBJD5) $(OBJD6) $(OBJD7)	\
                        $(PRIM_OBJECTS) $(LIB) -lm

fscheme: $(OBJF0) $(OBJF1) $(OBJF2) $(OBJF3) $(OBJF4) $(OBJF5)	\
	$(OBJF6) $(OBJF7) $(F_PRIM_OBJECTS)
	@echo "#**   Re-linking" $@ because of $?
	rm -f fscheme
	$(CC) -g -o fscheme $(OBJF0) $(OBJF1) $(OBJF2) $(OBJF3)	\
              	         $(OBJF4) $(OBJF5) $(OBJF6) $(OBJF7)	\
                         $(F_PRIM_OBJECTS) $(LIB) -lm

usrdef.c: $(PRIM_SOURCES) Findprim Makefile
	rm -f usrdef.c
	./Findprim $(PRIM_SOURCES) >usrdef.c

fusrdef.c: $(F_PRIM_SOURCES) Findprim Makefile
	rm -f fusrdef.c
	./Findprim $(F_PRIM_SOURCES) >fusrdef.c

os.c: unix.c vms.c unknown.c scheme.h primitive.h
	touch os.c

Findprim: Findprim.c
	rm -f Findprim
	cc $(MAC) -O -o Findprim Findprim.c

Bintopsb: translate.h load.c Bintopsb.c
	@echo "#**   Re-making Bintopsb"
	rm -f Bintopsb
	cc $(MAC) -O -o Bintopsb Bintopsb.c -lm

Psbtobin: translate.h dump.c Psbtobin.c
	@echo "#**   Re-making Psbtobin"
	rm -f Psbtobin
	cc $(MAC) -O -o Psbtobin Psbtobin.c -lm

Breakup: Breakup.c
	rm -f Breakup
	cc $(MAC) -O -o Breakup Breakup.c

Wsize: Wsize.c
	rm -f Wsize
	cc $(MAC) -o Wsize Wsize.c -lm

Ppband: scheme.h fasl.h load.c gctype.c Ppband.c
	rm -f Ppband
	cc $(MAC) -o Ppband Ppband.c

scheme.h: config.h bkpt.h default.h object.h scode.h sdata.h 	\
	gc.h history.h interpret.h futures.h types.h errors.h	\
	fixobj.h extern.h
	touch scheme.h

translate.h: config.h object.h bignum.h gc.h types.h sdata.h	\
	const.h gccode.h fasl.h load.c dump.c
	touch translate.h	

# Here are the source file dependencies on the header files

$(OBJF0) $(OBJD0) $(OBJ0): scheme.h zones.h
$(OBJF1) $(OBJD1) $(OBJ1): scheme.h primitive.h
$(OBJF2) $(OBJD2) $(OBJ2): scheme.h primitive.h prims.h Makefile
$(OBJF3) $(OBJD3) $(OBJ3): scheme.h primitive.h locks.h
$(OBJF4) $(OBJD4) $(OBJ4): scheme.h primitive.h fasl.h load.c dump.c
$(OBJF5) $(OBJD5) $(OBJ5): scheme.h primitive.h gccode.h zones.h
$(OBJF6) $(OBJD6) $(OBJ6): scheme.h primitive.h flonum.h zones.h bignum.h
$(OBJF7) $(OBJD7) $(OBJ7): scheme.h prims.h gctype.c
intercom.fo $(PRIM_OBJECTS): scheme.h primitive.h prims.h fasl.h	\
	flonum.h bignum.h locks.h zones.h Makefile unexec.c