From d464eb6d487674011856ab8b70aae35841a36bfe Mon Sep 17 00:00:00 2001 From: CSRG Date: Wed, 29 Feb 1984 02:20:10 -0800 Subject: [PATCH] BSD 4_3_Reno development Work on file usr/src/pgrm/lisp/franz/68k/Makefile Synthesized-from: CSRG/cd2/4.3reno --- usr/src/pgrm/lisp/franz/68k/Makefile | 238 +++++++++++++++++++++++++++ 1 file changed, 238 insertions(+) create mode 100644 usr/src/pgrm/lisp/franz/68k/Makefile diff --git a/usr/src/pgrm/lisp/franz/68k/Makefile b/usr/src/pgrm/lisp/franz/68k/Makefile new file mode 100644 index 0000000000..bf25ed1302 --- /dev/null +++ b/usr/src/pgrm/lisp/franz/68k/Makefile @@ -0,0 +1,238 @@ +# +#$Header: Makefile,v 1.15 84/02/29 17:19:21 sklower Exp $ +# +#$Locker: $ +# +# Franz Lisp C coded kernel +# +#-- Default Paths: +# see ../../ReadMe for a explaination of what LibDir and CopyTo mean +# D is the directory used for holding intermediate files during +# compilation +#-- Options: +# there is one compile time options which can be set in this file +# * do profiling (ala the unix prof(1) command) +# +# The selection of this options is made below +# Other options can be selected by editing ../h/config.h or via +# ../../lispconf +# +LibDir = /usr/lib/lisp +ObjDir = /usr/ucb +CopyTo = /dev/null +Liszt = liszt +Lisp = lisp +# if you change this you must recompile rlc.c +# (and change the value in ../Makefile) +# +HOLE= 2097152 + +.DEFAULT: nlisp + +MipSrc1= ../low.c ../lowaux.s +MipSrc2= ../alloc.c ../data.c +MipSrc3= ../rlc.c +MipSrc4= ../lisp.c ../eval.c ../eval2.c ../inits.c ../io.c ../error.c \ + ../sysat.c ../lam1.c ../lam2.c ../lam3.c ../lam4.c ../lam5.c\ + ../lam6.c ../lam7.c ../lam8.c ../lam9.c ../lamr.c ../lamp.c \ + ../fex1.c ../fex2.c ../fex3.c ../fex4.c ../fexr.c\ + ../fpipe.c \ + ../subbig.c ../pbignum.c ../divbig.c \ + ../ffasl.c ../fasl.c \ + ../trace.c ../evalf.c ../frame.c ../lamgc.c + +MipSrc = ${MipSrc1} ${MipSrc2} ${MipSrc3} ${MipSrc4} + +MipObj1= ../lowaux.o ../low.o +MipObj2= ../alloc.o ../data.o +HoleMipObj2 = ../Salloc.o ../Sdata.o +HoleMipObj3 = ../rlc.o +MipObj4= ../lisp.o ../eval.o ../eval2.o ../inits.o ../io.o ../error.o \ + ../sysat.o ../lam1.o ../lam2.o ../lam3.o ../lam4.o ../lam5.o\ + ../lam6.o ../lam7.o ../lam8.o ../lam9.o ../lamr.o ../lamp.o \ + ../fex1.o ../fex2.o ../fex3.o ../fex4.o ../fexr.o\ + ../fpipe.o \ + ../subbig.o ../pbignum.o ../divbig.o \ + ../ffasl.o ../fasl.o \ + ../trace.o ../evalf.o ../frame.o ../lamgc.o + + +# The order of loading of certain files is important. +# lowaux.o must be first and low.o second. +# +BottomObj = ${MipObj1} + +# Different objects are required depending on whether there is to be +# a hole between text and data space. +# +NoHoleObj = /lib/crt0.o ${MipObj2} +HoleObj = /lib/hcrt0.o ${HoleMipObj2} ${HoleMipObj3} + +M68kASrc = callg.s dmlad.s ediv.s emul.s hack.s \ + qfuncl.c +M68kCSrc = 68k.c adbig.c calqhat.c dodiv.c dsmult.c \ + exarith.c fixbits.c inewint.c \ + mlsb.c mulbig.c nargs.c suncore.c +M68kSrc = ${M68kCSrc} ${M68kASrc} + +M68kObj = 68k.o adbig.o callg.o calqhat.o dmlad.o dodiv.o dsmult.o \ + ediv.o emul.o exarith.o fixbits.o hack.o inewint.o \ + mlsb.o mulbig.o nargs.o qfuncl.o + +AllSrc = $(M68kSrc) Makefile first8.c fixregs.sed + +CFLAGS = -O -I../h + +#ifdef unisoft +#CFLAGS = -I../h +#endif + +#ifdef sun +Libs = -lcore +OsObjs = suncore.o +#endif + +#ifdef sunII +Libs = -lcore -lsunwindow -lpixrect +#endif + +#ifdef mc500 +#Libs = -lBSD +#endif + +#ifdef unisys3botch +#N= +#else +N=-n +#endif + +# on non-ucb systems it might be more +# polite to use temporary files rather than pipes +# +#ifdef unisoft +#.SUFFIXES : .c.l.s +#.s.o: +# ./first8.out < $< > $*.t; as -o $*.o $*.t; rm $*.t +#else +.SUFFIXES : .c.l +#endif +.c.o : +#ifdef npinreg +# /lib/cpp -I../h $*.c | /lib/xcomp |\ +# sed -f fixregs.sed > /tmp/x.s; as -o $*.o /tmp/x.s +#else + cc -c $(CFLAGS) $*.c;\ + mv `basename $*.o` x; mv x $*.o +#endif + +.l.o : + liszt $< > #resc + @echo liszt $< done + + +../rlc.o: ../rlc.c + cc -c $(CFLAGS) -DHOLE=${HOLE} ../rlc.c + mv rlc.o .. < /dev/null + +../Salloc.o: ../alloc.c + (echo "# define HOLE"; cat ../alloc.c) > Salloc.c;\ + make Salloc.o; mv Salloc.o .. < /dev/null ; rm Salloc.c + +../Sdata.o: ../data.c + (echo "# define HOLE"; cat ../data.c) > Sdata.c;\ + make Sdata.o; mv Sdata.o .. < /dev/null ; rm Sdata.c + +first8.out: first8.c + cc -I../h first8.c -o first8.out + +../low.o: ../low.c + cc -S $(CFLAGS) ../low.c; sed 's/data$$/text/' < low.s > Low.s + as -o ../low.o Low.s; rm Low.s low.s + +#ifdef unisoft +#qfuncl.o: qfuncl.c first8.out +# cc -E $(CFLAGS) ${ProfFlag2} qfuncl.c |\ +# ./first8.out | sed 's/^#/|/' > qfuncl.s +# as -o qfuncl.o qfuncl.s +# rm qfuncl.s +# +#else +qfuncl.o: qfuncl.c + cc -I../h -E ${ProfFlag2} qfuncl.c > x.s; as -o qfuncl.o x.s; rm x.s +#endif + +# rawlisp is the standard raw lisp system. + +rawlisp: ${BottomObj} ${NoHoleObj} ${MipObj4} ${M68kObj} ${OsObjs} + rm -f rawlisp + ld $N -x -o rawlisp -e start ${BottomObj} ${NoHoleObj} \ + ${M68kObj} ${MipObj4} ${OsObjs} \ + ${Libs} -ltermcap -lm -lc + ls -l rawlisp + + +# hlisp is a raw lisp system with a hole between text and data + +rawhlisp: ${BottomObj} ${HoleObj} ${MipObj4} ${M68kObj} ${OsObjs} + rm -f rawhlisp + ld -x -H ${HOLE} -o rawhlisp -e hstart ${BottomObj} ${HoleObj} \ + ${M68kObj} ${MipObj4} ${OsObjs} \ + ${Libs} -ltermcap -lm -lc + ls -l rawhlisp + + +clean: + rm -f *.o rawlisp rawhlisp nlisp snlisp + +lint: + lint ../h/*.h *.c + +install: nlisp + -rm -f ${ObjDir}/lisp + mv nlisp ${ObjDir}/lisp + @echo lisp installed + +nlisp: rawlisp ${LibDir} + -rm -f nlisp + (cd ${LibDir} ; make Liszt=${Liszt} required) + echo "(progn (setq build:map 'map \ + build:lisp-type 'franz \ + lisp-library-directory '${LibDir} \ + build:dir '${LibDir} \ + lisp-object-directory '${ObjDir}) \ + (load '${LibDir}/buildlisp)\ + (dumplisp nlisp))" | ./rawlisp + ${LibDir}/tackon map nlisp + @echo nlisp built + + +donlisp: + -rm -f nlisp + make LibDir=${LibDir} Liszt=${Liszt} ObjDir=${ObjDir} nlisp + +#--- snlisp: create a totally interpreted lisp. +# dump as snlisp +snlisp: rawlisp + echo "(progn (setq build:load t \ + build:lisp-type 'franz \ + build:dir '${LibDir} \ + lisp-object-directory '${ObjDir}\ + lisp-library-directory '${LibDir})\ + (load '${LibDir}/buildlisp)\ + (dumplisp snlisp))" | rawlisp + + +tags: tags ${M68kCSrc} ${MipSrc} + ctags ../h/*.h $(M68kCSrc) ${MipSrc} + +#--- copysource : copy source files to another directory +# called via make CopyTo=/xx/yyy/zz copysource +# +copysource: ${AllSrc} + (tar cf - ${AllSrc} | (cd ${CopyTo} ; tar xf -)) + +copyobjects: ${AllObj} + (tar cf - ${AllObj} | (cd ${CopyTo} ; tar xf -)) + +scriptcatall: ${AllSrc} + @../../scriptcat . franz/68k ${AllSrc} tags -- 2.20.1