Annotation of 42BSD/ucb/lisp/franz/68k/Makefile, revision 1.1.1.1

1.1       root        1: # 
                      2: #$Header: Makefile,v 1.12 83/09/12 15:33:20 layer 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 = /a/franz/lisplib
                     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: 
                     60: # The order of loading of certain files is important.
                     61: # low.o must be first and lowaux second.
                     62: # 
                     63: BottomObj = ${MipObj1}
                     64: 
                     65: # Different objects are required depending on whether there is to be
                     66: # a hole between text and data space.
                     67: #
                     68: NoHoleObj = /lib/crt0.o ${MipObj2}
                     69: HoleObj   = /lib/hcrt0.o ${HoleMipObj2} ${HoleMipObj3}
                     70: 
                     71: M68kASrc = alloca.s callg.s dmlad.s ediv.s emul.s hack.s \
                     72:        qfuncl.c realread.sun.s realread.s
                     73: M68kCSrc = 68k.c adbig.c calqhat.c dodiv.c dsmult.c \
                     74:        exarith.c fixbits.c inewint.c \
                     75:        mlsb.c mulbig.c nargs.c
                     76: M68kSrc = ${M68kCSrc} ${M68kASrc}
                     77: 
                     78: M68kObj = 68k.o adbig.o alloca.o callg.o calqhat.o dmlad.o dodiv.o dsmult.o \
                     79:        ediv.o emul.o exarith.o fixbits.o hack.o inewint.o \
                     80:        mlsb.o mulbig.o nargs.o qfuncl.o
                     81: 
                     82: AllSrc = $(M68kSrc) Makefile first8.c fixregs.sed
                     83: 
                     84: #ifdef unisoft
                     85: #Libs = -ltermcap -lm -lc
                     86: #OsObjs = realread.o
                     87: #CFLAGS = -I../h
                     88: #else
                     89: Libs = -ltermcap -lcore -lm -lc
                     90: OsObjs = realread.sun.o suncore.o
                     91: CFLAGS = -O -I../h
                     92: #endif
                     93: 
                     94: # on non-ucb systems it might be more
                     95: # polite to use temporary files rather than pipes
                     96: #
                     97: #ifdef unisoft
                     98: #.SUFFIXES : .c.l.s
                     99: #.s.o:
                    100: #      first8.out < $< > $*.t; as -o $*.o $*.t; rm $*.t
                    101: #else
                    102: .SUFFIXES : .c.l
                    103: #endif
                    104: .c.o :
                    105: #ifdef npinreg
                    106: #      /lib/cpp -I../h $*.c | /lib/xcomp |\
                    107: #      sed -f fixregs.sed > /tmp/x.s; as -o $*.o /tmp/x.s
                    108: #else
                    109:        cc -c $(CFLAGS) $*.c;\
                    110:        mv `basename $*.o` x; mv x $*.o
                    111: #endif
                    112: 
                    113: .l.o :
                    114:        liszt $< > #resc
                    115:        @echo liszt $< done
                    116: 
                    117: 
                    118: ../rlc.o: ../rlc.c 
                    119:        cc -c $(CFLAGS) -DHOLE=${HOLE} ../rlc.c 
                    120:        mv rlc.o .. < /dev/null
                    121: 
                    122: ../Salloc.o: ../alloc.c
                    123:        (echo "# define HOLE"; cat ../alloc.c) > Salloc.c;\
                    124:        make Salloc.o; mv Salloc.o .. < /dev/null ; rm Salloc.c
                    125:        
                    126: ../Sdata.o: ../data.c
                    127:        (echo "# define HOLE"; cat ../data.c) > Sdata.c;\
                    128:        make Sdata.o; mv Sdata.o .. < /dev/null  ; rm Sdata.c
                    129: 
                    130: #ifdef unisoft
                    131: #../low.o: ../low.c first8.out
                    132: #      cc -S $(CFLAGS) ../low.c;\
                    133: #      sed s/data/text/ < low.s > low.t;\
                    134: #      as -o ../low.o low.t;\
                    135: #      rm low.s low.t
                    136: #
                    137: #qfuncl.o: qfuncl.c first8.out
                    138: #      cc -E $(CFLAGS) ${ProfFlag2} qfuncl.c |\
                    139: #      first8.out | sed 's/^#/|/' > qfuncl.s
                    140: #      as -o qfuncl.o qfuncl.s
                    141: #      rm qfuncl.s
                    142: #
                    143: #else
                    144: ../low.o: ../low.c
                    145:        cc -c $(CFLAGS) -R ../low.c  
                    146:        mv low.o .. < /dev/null
                    147: 
                    148: qfuncl.o: qfuncl.c
                    149:        cc -I../h -E ${ProfFlag2} qfuncl.c > x.s; as -o qfuncl.o x.s; rm x.s
                    150: 
                    151: suncore.o: suncore.s
                    152: 
                    153: suncore.s:
                    154:        nm -pg /usr/lib/libcore.a |\
                    155:        egrep '^0.* T' |\
                    156:        sed 's/.* /.long /' > suncore.s
                    157: 
                    158: #endif
                    159: 
                    160: # rawlisp is the standard raw lisp system.
                    161: 
                    162: rawlisp: ${BottomObj} ${NoHoleObj} ${MipObj4} ${M68kObj} ${OsObjs}
                    163:        rm -f rawlisp
                    164:        ld -n -x -o rawlisp -e start ${BottomObj} ${NoHoleObj} \
                    165:                                ${M68kObj} ${MipObj4} ${OsObjs} ${Libs}
                    166:        ls -l rawlisp
                    167: 
                    168: 
                    169: # hlisp is a raw lisp system with a hole between text and data
                    170: 
                    171: rawhlisp: ${BottomObj} ${HoleObj} ${MipObj4} ${M68kObj} ${OsObjs}
                    172:        rm -f rawhlisp
                    173:        ld -x -H ${HOLE} -o rawhlisp -e hstart ${BottomObj}  ${HoleObj} \
                    174:                                ${M68kObj} ${MipObj4} ${OsObjs} ${Libs}
                    175:        ls -l rawhlisp
                    176: 
                    177: 
                    178: clean:
                    179:        rm -f *.o rawlisp rawhlisp nlisp snlisp
                    180: 
                    181: lint:
                    182:        lint ../h/*.h *.c
                    183: 
                    184: install: nlisp 
                    185:        -rm -f ${ObjDir}/lisp
                    186:        mv nlisp ${ObjDir}/lisp
                    187:        @echo lisp installed
                    188: 
                    189: nlisp: rawlisp ${LibDir}
                    190:        -rm -f nlisp
                    191:        (cd ${LibDir} ; make Liszt=${Liszt} required)
                    192:        echo "(progn (setq build:map 'map \
                    193:                           build:lisp-type 'franz \
                    194:                           lisp-library-directory '${LibDir} \
                    195:                           build:dir '${LibDir} \
                    196:                           lisp-object-directory '${ObjDir}) \
                    197:                     (load '${LibDir}/buildlisp)\
                    198:                     (dumplisp nlisp))" | ./rawlisp
                    199:        ${LibDir}/tackon map nlisp
                    200:        @echo nlisp built
                    201: 
                    202: 
                    203: donlisp:
                    204:        -rm -f nlisp
                    205:        make LibDir=${LibDir} Liszt=${Liszt} ObjDir=${ObjDir} nlisp
                    206: 
                    207: #--- snlisp: create a totally interpreted lisp.
                    208: #      dump as snlisp
                    209: snlisp: rawlisp
                    210:        echo "(progn (setq build:load t         \
                    211:                           build:lisp-type 'franz \
                    212:                           build:dir '${LibDir} \
                    213:                           lisp-object-directory '${ObjDir}\
                    214:                           lisp-library-directory '${LibDir})\
                    215:                     (load '${LibDir}/buildlisp)\
                    216:                     (dumplisp snlisp))" | rawlisp
                    217: 
                    218: 
                    219: tags:  tags ${M68kCSrc} ${MipSrc}
                    220:        ctags ../h/*.h $(M68kCSrc) ${MipSrc}
                    221: 
                    222: #--- copysource : copy source files to another directory
                    223: #  called via   make CopyTo=/xx/yyy/zz copysource
                    224: # 
                    225: copysource: ${AllSrc}
                    226:        (tar cf - ${AllSrc} | (cd ${CopyTo} ; tar xf -))
                    227: 
                    228: copyobjects: ${AllObj}
                    229:        (tar cf - ${AllObj} | (cd ${CopyTo} ; tar xf -))
                    230: 
                    231: scriptcatall: ${AllSrc}
                    232:        @../../scriptcat . franz/68k ${AllSrc} tags

unix.superglobalmegacorp.com

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