BSD 4_3_Reno development
authorCSRG <csrg@ucbvax.Berkeley.EDU>
Tue, 30 Aug 1983 12:04:34 +0000 (04:04 -0800)
committerCSRG <csrg@ucbvax.Berkeley.EDU>
Tue, 30 Aug 1983 12:04:34 +0000 (04:04 -0800)
Work on file usr/src/pgrm/lisp/franz/vax/Make.uobj

Synthesized-from: CSRG/cd2/4.3reno

usr/src/pgrm/lisp/franz/vax/Make.uobj [new file with mode: 0644]

diff --git a/usr/src/pgrm/lisp/franz/vax/Make.uobj b/usr/src/pgrm/lisp/franz/vax/Make.uobj
new file mode 100644 (file)
index 0000000..071ef3e
--- /dev/null
@@ -0,0 +1,256 @@
+#
+# 
+# $Header: /na/franz/franz/vax/RCS/Makefile,v 1.3 83/03/23 22:33:01 jkf Exp $
+#
+#  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
+#
+AS = unixas    # Generate VMS object files
+LD = unixld    # Generate VMS object files
+CFLAGS = -DEUNICE_UNIX_OBJECT_FILE_CFASL       # enable UNIX object CFASL
+
+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
+MipSrc2= ../alloc.c ../data.c
+MipSrc3=
+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= ../low.o
+MipObj2= ../alloc.o ../data.o
+HoleMipObj2 = ../Salloc.o ../Sdata.o
+HoleMipObj3 =
+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
+
+# this list must contain all the include files, not just those used
+# in the vax version.  The include filenames are relative to ..
+#
+Includes = h/config.h  h/global.h      h/oaout.h       h/vaxframe.h \
+       h/catchfram.h   h/dfuncs.h      h/gtabs.h       h/sigtab.h \
+       h/chars.h       h/frame.h       h/lfuncs.h      h/structs.h \
+       h/chkrtab.h     h/gc.h          h/naout.h       h/types.h \
+       h/lconf.h       h/ltypes.h
+
+#------ Options
+
+#--- profiling selection
+# If the lisp system is to run with profiling, this must be done:
+#  1) remove the # (comment character) from the ProfFlag and
+#     ProfFlag2 definitions below (also do it in ../Makefile)
+#  2) remove all .o files and do a make.
+#
+ProfFlag = # -XP
+ProfFlag2 = # -DPROF
+
+
+# The order of loading of certain files is important.
+# low.o must be first and lowaux second.
+# 
+BottomObj = ${MipObj1} ../lowaux.o
+HBottomObj = ${MipObj1} hlowaux.o
+
+# Different objects are required depending on whether there is to be
+# a hole between text and data space.
+#
+NoHoleObj = ${MipObj2}
+HoleObj   = ${HoleMipObj2} ${HoleMipObj3}
+
+VaxObj = bigmath.o qfuncl.o vax.o prealloc.o
+
+VaxSrc = bigmath.c qfuncl.c vax.c crt0.s hcrt0.s lowaux.s
+
+# AllSrc does not (and should not) include ${Includes}
+
+AllSrc = Makefile  fixmask.c fixpbig.e ${VaxSrc} ${MipSrc}
+
+
+.SUFFIXES : .c.l
+#
+# use temporary files rather than pipes to keep the number of procs. down
+# thus, users with low process quotas on VMS can still build lisp
+#
+.c.o :
+       @csh -cfe "echo cc -c  $*.c;\
+       rm -f $*.o;\
+       /lib/cpp ${CFLAGS} $< -I../h > $*.tm0;\
+       /lib/ccom ${ProfFlag} $*.tm0 $*.tm1;\
+       fixmask <$*.tm1 >$*.tm2;\
+       sed -f fixpbig.e <$*.tm2 >$*.tm3;\
+       /lib/c2 $*.tm3 >$*.tms;\
+       ${AS} -o $*.o $*.tms;\
+       rm $*.tms $*.tm0 $*.tm1 $*.tm2 $*.tm3"
+
+.l.o :
+       liszt $< > #resc
+       @echo liszt $< done
+
+# one special case:
+#  add -DPROF if you want to profile the assembler code
+
+# EXPLICITLY USE "unixcpp" SO THAT "$"s IN ASSEMBLER CODE WORK!
+qfuncl.o: qfuncl.c
+       /lib/unixcpp -I../h ${ProfFlag2} qfuncl.c | ${AS} -o qfuncl.o
+
+bigmath.o: bigmath.c
+       /lib/unixcpp -I../h ${ProfFlag2} bigmath.c | ${AS} -o bigmath.o
+
+../rlc.o: ../rlc.c 
+       cc -S -O ${CFLAGS} -DHOLE=${HOLE} ../rlc.c
+       ${AS} -o rlc.o rlc.s
+       rm rlc.s
+       mv rlc.o ../rlc.o
+
+../low.o: ../low.c
+       cc ${CFLAGS} -I../h -R -S ../low.c
+       ${AS} -R -o low.o low.s
+       rm low.s
+       mv low.o ../low.o
+
+../Salloc.o: ../alloc.c
+       (echo "# define HOLE ${HOLE}"; cat ../alloc.c) > Salloc.c;\
+       make Salloc.o; mv Salloc.o .. < /dev/null ; rm Salloc.c
+       
+../Sdata.o: ../data.c
+       (echo "# define HOLE ${HOLE}"; cat ../data.c) > Sdata.c;\
+       make Sdata.o; mv Sdata.o .. < /dev/null  ; rm Sdata.c
+
+fixmask: fixmask.c
+       cc -O -o fixmask fixmask.c
+
+# rawlisp is the standard raw lisp system.
+
+rawlisp: fixmask fixpbig.e \
+               ${BottomObj} ${NoHoleObj} ${MipObj4} ${VaxObj} 
+       rm -f rawlisp
+       ld -noshare -nop0bufs -x -o rawlisp ${BottomObj} /lib/crt0.o \
+                               ${NoHoleObj} ${VaxObj} ${MipObj4} \
+                               /lib/fastexecp.o  -lm -lc -ltermlib
+       ls -l rawlisp
+
+
+# hlisp is a raw lisp system with a hole between text and data
+
+rawhlisp: fixmask fixpbig.e ${HBottomObj} ${HoleObj} ${MipObj4} ${VaxObj} 
+       rm -f rawhlisp
+       ld -noshare -nop0bufs -x -o rawhlisp ${HBottomObj} \
+                               /lib/crt0.o ${HoleObj} \
+                               ${VaxObj}  ${MipObj4} \
+                               /lib/fastexecp.o -lm -lc -ltermlib
+       ls -l rawhlisp
+
+hlowaux.o: ../lowaux.s
+       sed "s/holbeg:/holbeg: .space ${HOLE}/" <../lowaux.s >hlowaux.s
+       ${AS} -o hlowaux.o hlowaux.s
+       rm -f hlowaux.s
+
+
+clean:
+       rm -f *.o
+
+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:  
+       ctags $(VaxSrc) ${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/vax ${AllSrc}
+       @../../scriptcat .. franz ${Includes}
+
+       
+#--- prealloc.o: the "C" runtime startup for EUNICE with data structure
+#      preallocation and restart capabilities
+#              NFILES  - # file descriptors of data structure to allocate
+#              RESTART - allow restart from saved image
+#
+prealloc.o:    Makefile
+       /lib/cpp -DNFILES=20 -DRESTART /usr/include/eunice/prealloc.c prealloc.tm0
+       /lib/ccom prealloc.tm0 prealloc.tm1
+       /lib/c2 prealloc.tm1 prealloc.tm2
+       sed -f /usr/include/eunice/sedfixup.e <prealloc.tm2 >prealloc.tm3
+       ${AS} -o prealloc.o prealloc.tm3
+       rm prealloc.tm0 prealloc.tm1 prealloc.tm2 prealloc.tm3
+
+totxtfile: totxtfile.c 
+       cc -O totxtfile.c -o totxtfile