|
|
1.1 ! root 1: # ! 2: # $Header: Makefile,v 1.15 85/05/06 18:12:34 sklower Exp $ ! 3: # ! 4: # $Locker: $ ! 5: # ! 6: # Franz Lisp C coded kernel ! 7: # ! 8: #-- Default Paths: ! 9: # see ../../ReadMe for a explaination of what LibDir and CopyTo mean ! 10: # D is the directory used for holding intermediate files during ! 11: # compilation ! 12: #-- Options: ! 13: # there is one compile time options which can be set in this file ! 14: # * do profiling (ala the unix prof(1) command) ! 15: # ! 16: # The selection of this options is made below ! 17: # Other options can be selected by editing ../h/config.h or via ! 18: # ../../lispconf ! 19: # ! 20: LibDir = /usr/lib/lisp ! 21: ObjDir = /usr/ucb ! 22: CopyTo = /dev/null ! 23: Liszt = liszt ! 24: Lisp = lisp ! 25: # if you change this you must recompile rlc.c ! 26: # (and change the value in ../Makefile) ! 27: # ! 28: HOLE= 2097152 ! 29: ! 30: .DEFAULT: nlisp ! 31: ! 32: MipSrc1= ../low.c ../lowaux.s ! 33: MipSrc2= ../alloc.c ../data.c ! 34: MipSrc3= ../rlc.c ! 35: MipSrc4= ../lisp.c ../eval.c ../eval2.c ../inits.c ../io.c ../error.c \ ! 36: ../sysat.c ../lam1.c ../lam2.c ../lam3.c ../lam4.c ../lam5.c\ ! 37: ../lam6.c ../lam7.c ../lam8.c ../lam9.c ../lamr.c ../lamp.c \ ! 38: ../fex1.c ../fex2.c ../fex3.c ../fex4.c ../fexr.c\ ! 39: ../fpipe.c \ ! 40: ../subbig.c ../pbignum.c ../divbig.c \ ! 41: ../ffasl.c ../fasl.c \ ! 42: ../trace.c ../evalf.c ../frame.c ../lamgc.c ! 43: ! 44: MipSrc = ${MipSrc1} ${MipSrc2} ${MipSrc3} ${MipSrc4} ! 45: ! 46: MipObj1= ../low.o ../lowaux.o ! 47: MipObj2= ../alloc.o ../data.o ! 48: HoleMipObj2 = ../Salloc.o ../Sdata.o ! 49: HoleMipObj3 = ../rlc.o ! 50: MipObj4= ../lisp.o ../eval.o ../eval2.o ../inits.o ../io.o ../error.o \ ! 51: ../sysat.o ../lam1.o ../lam2.o ../lam3.o ../lam4.o ../lam5.o\ ! 52: ../lam6.o ../lam7.o ../lam8.o ../lam9.o ../lamr.o ../lamp.o \ ! 53: ../fex1.o ../fex2.o ../fex3.o ../fex4.o ../fexr.o\ ! 54: ../fpipe.o \ ! 55: ../subbig.o ../pbignum.o ../divbig.o \ ! 56: ../ffasl.o ../fasl.o \ ! 57: ../trace.o ../evalf.o ../frame.o ../lamgc.o ! 58: ! 59: #------ Options ! 60: ! 61: #--- profiling selection ! 62: # If the lisp system is to run with profiling, this must be done: ! 63: # 1) remove the # (comment character) from the ProfFlag and ! 64: # ProfFlag2 definitions below (also do it in ../Makefile) ! 65: # 2) remove all .o files and do a make. ! 66: # ! 67: ProfFlag = # -XP ! 68: ProfFlag2 = # -DPROF ! 69: ! 70: ! 71: # The order of loading of certain files is important. ! 72: # low.o must be first and lowaux second. ! 73: # ! 74: BottomObj = ${MipObj1} ! 75: ! 76: # Different objects are required depending on whether there is to be ! 77: # a hole between text and data space. ! 78: # ! 79: NoHoleObj = crt0.o ${MipObj2} ! 80: HoleObj = hcrt0.o ${HoleMipObj2} ${HoleMipObj3} ! 81: ! 82: VaxObj = bigmath.o qfuncl.o vax.o malloc.o ! 83: ! 84: VaxCSrc = vax.c malloc.c ! 85: VaxASrc = bigmath.c qfuncl.c crt0.s hcrt0.s ! 86: VaxSrc = ${VaxASrc} ${VaxCSrc} ! 87: ! 88: Eunice = Make.vms Make.uobj rawlisp.unx rawhlisp.unx hole.unx totxtfile.c ! 89: ! 90: AllSrc = Makefile fixmask.c fixpbig.e ${VaxSrc} ${Eunice} ${MipSrc} ! 91: ! 92: ! 93: .SUFFIXES : .c.l ! 94: # on non-ucb systems it might be more ! 95: # polite to use temporary files rather than pipes ! 96: # ! 97: .c.o : ! 98: @csh -cfe "echo cc -c $*.c;\ ! 99: rm -f $*.o;\ ! 100: /lib/cpp $< -I../h |\ ! 101: /lib/ccom ${ProfFlag} | fixmask |\ ! 102: sed -f fixpbig.e |\ ! 103: /lib/c2 |\ ! 104: as -o $*.o ! 105: ! 106: .l.o : ! 107: liszt $< > #resc ! 108: @echo liszt $< done ! 109: ! 110: # one special case: ! 111: # add -DPROF if you want to profile the assembler code ! 112: ! 113: qfuncl.o: qfuncl.c ! 114: cc -I../h -E ${ProfFlag2} qfuncl.c | as -o qfuncl.o ! 115: ! 116: bigmath.o: bigmath.c ! 117: cc -I../h -E ${ProfFlag2} bigmath.c | as -o bigmath.o ! 118: ! 119: ../rlc.o: ../rlc.c ! 120: cc -c -O -DHOLE=${HOLE} ../rlc.c ! 121: mv rlc.o .. < /dev/null ! 122: ! 123: ../low.o: ../low.c ! 124: cc -I../h -R -c ../low.c ! 125: mv low.o .. < /dev/null ! 126: ! 127: ../Salloc.o: ../alloc.c ! 128: (echo "# define HOLE ${HOLE}"; cat ../alloc.c) > Salloc.c;\ ! 129: make Salloc.o; mv Salloc.o .. < /dev/null ; rm Salloc.c ! 130: ! 131: ../Sdata.o: ../data.c ! 132: (echo "# define HOLE ${HOLE}"; cat ../data.c) > Sdata.c;\ ! 133: make Sdata.o; mv Sdata.o .. < /dev/null ; rm Sdata.c ! 134: ! 135: fixmask: fixmask.c ! 136: cc -O -o fixmask fixmask.c ! 137: ! 138: # rawlisp is the standard raw lisp system. ! 139: ! 140: rawlisp: fixmask fixpbig.e ${BottomObj} ${NoHoleObj} ${MipObj4} ${VaxObj} ! 141: rm -f rawlisp ! 142: ld -x -o rawlisp -e start ${BottomObj} ${NoHoleObj} \ ! 143: ${VaxObj} ${MipObj4} -lm -lc -ltermlib ! 144: ls -l rawlisp ! 145: ! 146: ! 147: # hlisp is a raw lisp system with a hole between text and data ! 148: ! 149: rawhlisp: fixmask fixpbig.e ${BottomObj} ${HoleObj} ${MipObj4} ${VaxObj} ! 150: rm -f rawhlisp ! 151: ld -x -H ${HOLE} -o rawhlisp -e hstart ${BottomObj} ${HoleObj} \ ! 152: ${VaxObj} ${MipObj4} -lm -lc -ltermlib ! 153: ls -l rawhlisp ! 154: ! 155: ! 156: clean: ! 157: rm -f *.o rawlisp nlisp rawhlisp ! 158: ! 159: lint: ! 160: lint ../h/*.h *.c ! 161: ! 162: tags: tags ${VaxSrc} ${MipSrc} ! 163: ctags ../h/*.h ${VaxCSrc} ${MipSrc} ! 164: ! 165: install: nlisp ! 166: -rm -f ${ObjDir}/lisp ! 167: mv nlisp ${ObjDir}/lisp ! 168: @echo lisp installed ! 169: ! 170: nlisp: rawlisp ${LibDir} ! 171: -rm -f nlisp ! 172: (cd ${LibDir} ; make Liszt=${Liszt} required) ! 173: echo "(progn (setq build:map 'map \ ! 174: build:lisp-type 'franz \ ! 175: lisp-library-directory '${LibDir} \ ! 176: build:dir '${LibDir} \ ! 177: lisp-object-directory '${ObjDir}) \ ! 178: (load '${LibDir}/buildlisp)\ ! 179: (dumplisp nlisp))" | rawlisp ! 180: ${LibDir}/tackon map nlisp ! 181: @echo nlisp built ! 182: ! 183: ! 184: donlisp: ! 185: -rm -f nlisp ! 186: make LibDir=${LibDir} Liszt=${Liszt} ObjDir=${ObjDir} nlisp ! 187: ! 188: #--- snlisp: create a totally interpreted lisp. ! 189: # dump as snlisp ! 190: snlisp: rawlisp ! 191: echo "(progn (setq build:load t \ ! 192: build:lisp-type 'franz \ ! 193: build:dir '${LibDir} \ ! 194: lisp-object-directory '${ObjDir}\ ! 195: lisp-library-directory '${LibDir})\ ! 196: (load '${LibDir}/buildlisp)\ ! 197: (dumplisp snlisp))" | rawlisp ! 198: ! 199: #--- copysource : copy source files to another directory ! 200: # called via make CopyTo=/xx/yyy/zz copysource ! 201: # ! 202: copysource: ${AllSrc} ! 203: (tar cf - ${AllSrc} | (cd ${CopyTo} ; tar xf -)) ! 204: ! 205: copyobjects: ${AllObj} ! 206: (tar cf - ${AllObj} | (cd ${CopyTo} ; tar xf -)) ! 207: ! 208: scriptcatall: ${AllSrc} ! 209: @../../scriptcat . franz/vax ${AllSrc} tags
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.