Annotation of 43BSDTahoe/ucb/lisp/franz/tahoe/Makefile, revision 1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.