Annotation of 43BSD/ucb/lisp/franz/vax/Make.vms, revision 1.1.1.1

1.1       root        1: #
                      2: # 
                      3: # $Header: Make.vms 1.3 83/04/26 14:22:20 sklower Exp $
                      4: #
                      5: # $Locker:  $
                      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: AS = vmsas     # Generate VMS object files
                     21: 
                     22: LibDir = /usr/lib/lisp
                     23: ObjDir = /usr/ucb
                     24: CopyTo = /dev/null
                     25: Liszt = liszt
                     26: Lisp = lisp
                     27: # if you change this you must recompile rlc.c 
                     28: # (and change the value in ../Makefile)
                     29: #
                     30: HOLE=2097152
                     31: 
                     32: .DEFAULT: nlisp
                     33: 
                     34: MipSrc1= ../low.c ../lowaux.s
                     35: MipSrc2= ../alloc.c ../data.c
                     36: MipSrc3= ../rlc.c
                     37: MipSrc4= ../lisp.c ../eval.c ../eval2.c ../inits.c ../io.c ../error.c \
                     38:         ../sysat.c ../lam1.c ../lam2.c ../lam3.c ../lam4.c ../lam5.c\
                     39:         ../lam6.c  ../lam7.c ../lam8.c ../lam9.c ../lamr.c ../lamp.c \
                     40:         ../fex1.c ../fex2.c ../fex3.c ../fex4.c ../fexr.c\
                     41:         ../fpipe.c \
                     42:         ../subbig.c ../pbignum.c ../divbig.c \
                     43:         ../ffasl.c ../fasl.c \
                     44:         ../trace.c ../evalf.c ../frame.c ../lamgc.c
                     45: 
                     46: MipSrc = ${MipSrc1} ${MipSrc2} ${MipSrc3} ${MipSrc4}
                     47: 
                     48: MipObj1= ../low.o  ../lowaux.o
                     49: MipObj2= ../alloc.o ../data.o
                     50: HoleMipObj2 = ../Salloc.o ../Sdata.o
                     51: HoleMipObj3 = ../rlc.o
                     52: MipObj4= ../lisp.o ../eval.o ../eval2.o ../inits.o ../io.o ../error.o \
                     53:         ../sysat.o ../lam1.o ../lam2.o ../lam3.o ../lam4.o ../lam5.o\
                     54:         ../lam6.o  ../lam7.o ../lam8.o ../lam9.o ../lamr.o ../lamp.o \
                     55:         ../fex1.o ../fex2.o ../fex3.o ../fex4.o ../fexr.o\
                     56:         ../fpipe.o \
                     57:         ../subbig.o ../pbignum.o ../divbig.o \
                     58:         ../ffasl.o ../fasl.o \
                     59:         ../trace.o ../evalf.o ../frame.o ../lamgc.o
                     60: 
                     61: # this list must contain all the include files, not just those used
                     62: # in the vax version.  The include filenames are relative to ..
                     63: #
                     64: Includes = h/config.h  h/global.h      h/oaout.h       h/vaxframe.h \
                     65:        h/catchfram.h   h/dfuncs.h      h/gtabs.h       h/sigtab.h \
                     66:        h/chars.h       h/frame.h       h/lfuncs.h      h/structs.h \
                     67:        h/chkrtab.h     h/gc.h          h/naout.h       h/types.h \
                     68:        h/lconf.h       h/ltypes.h
                     69: 
                     70: #------ Options
                     71: 
                     72: #--- profiling selection
                     73: # If the lisp system is to run with profiling, this must be done:
                     74: #  1) remove the # (comment character) from the ProfFlag and
                     75: #     ProfFlag2 definitions below (also do it in ../Makefile)
                     76: #  2) remove all .o files and do a make.
                     77: #
                     78: ProfFlag = # -XP
                     79: ProfFlag2 = # -DPROF
                     80: 
                     81: 
                     82: # The order of loading of certain files is important.
                     83: # low.o must be first and lowaux second.
                     84: # 
                     85: BottomObj = ${MipObj1}
                     86: 
                     87: # Different objects are required depending on whether there is to be
                     88: # a hole between text and data space.
                     89: #
                     90: NoHoleObj = ${MipObj2}
                     91: HoleObj   = hole.obj ${HoleMipObj2} ${HoleMipObj3}
                     92: 
                     93: VaxObj = bigmath.o qfuncl.o vax.o prealloc.o
                     94: 
                     95: VaxSrc = bigmath.c qfuncl.c vax.c crt0.s hcrt0.s
                     96: 
                     97: # AllSrc does not (and should not) include ${Includes}
                     98: 
                     99: AllSrc = Makefile  fixmask.c fixpbig.e ${VaxSrc} ${MipSrc}
                    100: 
                    101: 
                    102: .SUFFIXES : .c.l
                    103: #
                    104: # use temporary files rather than pipes to keep the number of procs. down
                    105: # thus, users with low process quotas on VMS can still build lisp
                    106: #
                    107: .c.o :
                    108:        @csh -cfe "echo cc -c  $*.c;\
                    109:        rm -f $*.o;\
                    110:        /lib/cpp $< -I../h > $*.tm0;\
                    111:        /lib/ccom ${ProfFlag} $*.tm0 $*.tm1;\
                    112:        fixmask <$*.tm1 >$*.tm2;\
                    113:        sed -f fixpbig.e <$*.tm2 >$*.tm3;\
                    114:        /lib/c2 $*.tm3 >$*.tms;\
                    115:        ${AS} -o $*.o $*.tms;\
                    116:        rm $*.tms $*.tm0 $*.tm1 $*.tm2 $*.tm3"
                    117: 
                    118: .l.o :
                    119:        liszt $< > #resc
                    120:        @echo liszt $< done
                    121: 
                    122: # one special case:
                    123: #  add -DPROF if you want to profile the assembler code
                    124: 
                    125: # EXPLICITLY USE "unixcpp" SO THAT "$"s IN ASSEMBLER CODE WORK!
                    126: qfuncl.o: qfuncl.c
                    127:        /lib/unixcpp -I../h ${ProfFlag2} qfuncl.c | ${AS} -o qfuncl.o
                    128: 
                    129: bigmath.o: bigmath.c
                    130:        /lib/unixcpp -I../h ${ProfFlag2} bigmath.c | ${AS} -o bigmath.o
                    131: 
                    132: ../rlc.o: ../rlc.c 
                    133:        cc -S -O -DHOLE=${HOLE} ../rlc.c
                    134:        ${AS} -o rlc.o rlc.s
                    135:        rm rlc.s
                    136:        mv rlc.o ../rlc.o
                    137: 
                    138: ../low.o: ../low.c
                    139:        cc -I../h -R -S ../low.c
                    140:        ${AS} -R -o low.o low.s
                    141:        rm low.s
                    142:        mv low.o ../low.o
                    143: 
                    144: ../Salloc.o: ../alloc.c
                    145:        (echo "# define HOLE"; cat ../alloc.c) > Salloc.c;\
                    146:        make Salloc.o; mv Salloc.o .. < /dev/null ; rm Salloc.c
                    147:        
                    148: ../Sdata.o: ../data.c
                    149:        (echo "# define HOLE=${HOLE}"; cat ../data.c) > Sdata.c;\
                    150:        make Sdata.o; mv Sdata.o .. < /dev/null  ; rm Sdata.c
                    151: 
                    152: fixmask: fixmask.c
                    153:        cc -O -o fixmask fixmask.c
                    154: 
                    155: # rawlisp is the standard raw lisp system.
                    156: 
                    157: rawlisp: fixmask fixpbig.e rawlisp.com \
                    158:                ${BottomObj} ${NoHoleObj} ${MipObj4} ${VaxObj} 
                    159:        rm -f rawlisp
                    160:        vms @rawlisp.com
                    161:        ls -l rawlisp
                    162: 
                    163: 
                    164: # hlisp is a raw lisp system with a hole between text and data
                    165: 
                    166: rawhlisp: fixmask fixpbig.e rawhlisp.com \
                    167:                ${BottomObj} ${HoleObj} ${MipObj4} ${VaxObj} 
                    168:        rm -f rawhlisp
                    169:        vms @rawhlisp.com ${HOLE}
                    170:        ls -l rawhlisp
                    171: 
                    172: 
                    173: clean:
                    174:        rm -f *.o
                    175: 
                    176: lint:
                    177:        lint h/*.h *.c
                    178: 
                    179: install: nlisp 
                    180:        -rm -f ${ObjDir}/lisp
                    181:        mv nlisp ${ObjDir}/lisp
                    182:        @echo lisp installed
                    183: 
                    184: nlisp: rawlisp ${LibDir}
                    185:        -rm -f nlisp
                    186:        (cd ${LibDir} ; make Liszt=${Liszt} required)
                    187:        echo "(progn (setq build:map 'map \
                    188:                           build:lisp-type 'franz \
                    189:                           lisp-library-directory '${LibDir} \
                    190:                           build:dir '${LibDir} \
                    191:                           lisp-object-directory '${ObjDir}) \
                    192:                     (load '${LibDir}/buildlisp)\
                    193:                     (dumplisp nlisp))" | rawlisp
                    194:        ${LibDir}/tackon map nlisp
                    195:        @echo nlisp built
                    196: 
                    197: 
                    198: donlisp:
                    199:        -rm -f nlisp
                    200:        make LibDir=${LibDir} Liszt=${Liszt} ObjDir=${ObjDir} nlisp
                    201: 
                    202: #--- snlisp: create a totally interpreted lisp.
                    203: #      dump as snlisp
                    204: snlisp: rawlisp
                    205:        echo "(progn (setq build:load t         \
                    206:                           build:lisp-type 'franz \
                    207:                           build:dir '${LibDir} \
                    208:                           lisp-object-directory '${ObjDir}\
                    209:                           lisp-library-directory '${LibDir})\
                    210:                     (load '${LibDir}/buildlisp)\
                    211:                     (dumplisp snlisp))" | rawlisp
                    212: 
                    213: 
                    214: tags:  
                    215:        ctags $(VaxSrc) ${MipSrc}
                    216: 
                    217: #--- copysource : copy source files to another directory
                    218: #  called via   make CopyTo=/xx/yyy/zz copysource
                    219: # 
                    220: copysource: ${AllSrc}
                    221:        (tar cf - ${AllSrc} | (cd ${CopyTo} ; tar xf -))
                    222: 
                    223: copyobjects: ${AllObj}
                    224:        (tar cf - ${AllObj} | (cd ${CopyTo} ; tar xf -))
                    225: 
                    226: scriptcatall: ${AllSrc}
                    227:        @../../scriptcat . franz/vax ${AllSrc}
                    228:        @../../scriptcat .. franz ${Includes}
                    229: 
                    230:        
                    231: #--- prealloc.o: the "C" runtime startup for EUNICE with data structure
                    232: #      preallocation and restart capabilities
                    233: #              NFILES  - # file descriptors of data structure to allocate
                    234: #              RESTART - allow restart from saved image
                    235: #
                    236: prealloc.o:    Makefile
                    237:        /lib/cpp -DNFILES=20 -DRESTART /usr/include/eunice/prealloc.c prealloc.tm0
                    238:        /lib/ccom prealloc.tm0 prealloc.tm1
                    239:        /lib/c2 prealloc.tm1 prealloc.tm2
                    240:        sed -f /usr/include/eunice/sedfixup.e <prealloc.tm2 >prealloc.tm3
                    241:        ${AS} -o prealloc.o prealloc.tm3
                    242:        rm prealloc.tm0 prealloc.tm1 prealloc.tm2 prealloc.tm3
                    243: 
                    244: rawlisp.com: rawlisp.unx totxtfile
                    245:        totxtfile rawlisp.unx rawlisp.com
                    246: 
                    247: rawhlisp.com: rawhlisp.unx totxtfile
                    248:        totxtfile rawhlisp.unx rawhlisp.com
                    249: 
                    250: hole.obj: hole.unx totxtfile
                    251:        sed "s/%d/${HOLE}/" < hole.unx | totxtfile hole.mar
                    252:        vms macro/nolist hole.mar
                    253: 
                    254: totxtfile: totxtfile.c
                    255:        cc -O totxtfile.c -o totxtfile

unix.superglobalmegacorp.com

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