BSD 4_3_Reno development
authorCSRG <csrg@ucbvax.Berkeley.EDU>
Wed, 29 Feb 1984 10:20:10 +0000 (02:20 -0800)
committerCSRG <csrg@ucbvax.Berkeley.EDU>
Wed, 29 Feb 1984 10:20:10 +0000 (02:20 -0800)
Work on file usr/src/pgrm/lisp/franz/68k/Makefile

Synthesized-from: CSRG/cd2/4.3reno

usr/src/pgrm/lisp/franz/68k/Makefile [new file with mode: 0644]

diff --git a/usr/src/pgrm/lisp/franz/68k/Makefile b/usr/src/pgrm/lisp/franz/68k/Makefile
new file mode 100644 (file)
index 0000000..bf25ed1
--- /dev/null
@@ -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