|
|
1.1 root 1: #$Header: Makefile,v 1.18 83/09/12 15:27:18 layer Exp $
2: #
3: # -[Sat Jul 30 15:47:44 PDT 1983 by layer]-
4: #
5: # Makefile for liszt
6: #
7: # Copyright (c) 1980, 1982, The Regents of the University of California.
8: # the Copyright applies to all files referenced in this Makefile.
9: # All rights reserved.
10: # Authors: John Foderaro ([email protected])
11: # Kevin Layer ([email protected])
12: #
13: # this makefile creates these things:
14: # liszt - the interface to the lisp compiler. This is used only for
15: # non virtual memory systems, because the overhead for forking
16: # the assembler is too great.
17: # nliszt - the lisp compiler. This is the default.
18: # snliszt - the lisp compiler, but interpreted.
19: # fromasm - used to build the compiler usually for the first
20: # time from only .s files. These files are assembled
21: # and loaded into a lisp.
22: # install - install the new version created
23: # clean - remove all .o files and *nliszt's
24: # tags - a tags file for use by ex/vi
25: #
26: # CTE refers to compile time enviroment
27: #
28: #--- Default Paths and programs
29: #
30: .DEFAULT:nliszt
31: .SUFFIXES:
32: .SUFFIXES: .l.o
33:
34: # DESTDIR is the relative offset of where the compiler goes
35: # (when making new distributions, the `root' is often at /nbsd).
36: # RootDir is the root directory of the franz lisp system
37: # (this is changed when the system is configured by ../../lispconf).
38: DESTDIR =
39:
40: LibDir = ${DESTDIR}/usr/lib/lisp
41: ObjDir = ${DESTDIR}/usr/ucb
42: Liszt = ${ObjDir}/liszt
43: Lisp = ${ObjDir}/lisp
44: #ifdef swapper
45: #XLiszt = ${ObjDir}/xliszt
46: #endif
47:
48: CFLAGS = -O # -Ddebug
49: Flg = -xqa
50:
51: CTESrc = ../chead.l ../cmacros.l ../const.l
52:
53: CTEObj= cmacros.o
54:
55: Src = ../array.l ../datab.l ../decl.l ../expr.l ../fixnum.l ../funa.l\
56: ../instr.l ../vector.l ../funb.l ../func.l ../io.l\
57: ../tlev.l ../util.l ../lversion.l
58:
59: SharedSrc = ${CTESrc} ${Src} ../ChangeLog ../cmake.l
60:
61: AllSrc = Makefile Makefile2 lisprc.l lisztrc.l liszt.c
62:
63: Obj = array.o vector.o datab.o decl.o expr.o fixnum.o\
64: instr.o funa.o funb.o func.o io.o tlev.o util.o lversion.o
65:
66: AllObj = ${CTEObj} ${Obj}
67:
68: #liszt :: the user interface to xliszt
69: # (only for swapped based systems, right now dual/unisoft)
70: #ifdef swapper
71: #liszt: liszt.c
72: # cc $(CFLAGS) -DLISZT='"${XLiszt}"' -DAS='"${LibDir}/as"'\
73: # -o liszt liszt.c
74: #else
75: liszt:
76: #endif
77:
78: donliszt:
79: rm -f nliszt
80: make Liszt=${Liszt} Lisp=${Lisp} nliszt
81:
82: nliszt: ${CTEObj} ${Obj} liszt ${Lisp}
83: rm -f nliszt
84: echo "(load '../cmake.l)(genl nliszt)" | ${Lisp}
85:
86: #--- generate an interpreted version
87: snliszt: ${Src} ${Lisp}
88: rm -f snliszt
89: echo "(load '../cmake.l)(genl snliszt slow)" | ${Lisp}
90:
91: # 'fromasm' is for making the compiler from
92: # .s files. On 68k systems this is much faster than
93: # doing a 'make slow', then a 'make fast'.
94: fromasm: assit load liszt
95: assit:
96: for i in *.s; do echo $$i; as $$i; done
97:
98: #--- load .o files into a lisp
99: load:
100: rm -f nliszt
101: echo "(load '../cmake.l)(genl nliszt)" | ${Lisp}
102:
103: # install nliszt, and if we are on a swap based system, then
104: #install nliszt as xliszt, and liszt (from liszt.c) as liszt.
105: install:
106: #ifdef swapper
107: # mv nliszt ${XLiszt}
108: # cp liszt ${Liszt}
109: #else
110: mv nliszt ${Liszt}
111: #endif
112:
113: clean: cleanobj
114: rm -f \#* *nliszt *.s
115:
116: cleanobj:
117: rm -f *.[ox]
118:
119: #--- rules for each lisp file:
120: cmacros.o: ../cmacros.l
121: ${Liszt} ${Flg} ../cmacros.l -o cmacros.o
122:
123: array.o: ../array.l
124: ${Liszt} ${Flg} ../array.l -o array.o
125:
126: instr.o: ../instr.l
127: ${Liszt} ${Flg} ../instr.l -o instr.o
128:
129: vector.o: ../vector.l
130: ${Liszt} ${Flg} ../vector.l -o vector.o
131:
132: datab.o: ../datab.l
133: ${Liszt} ${Flg} ../datab.l -o datab.o
134:
135: decl.o: ../decl.l
136: ${Liszt} ${Flg} ../decl.l -o decl.o
137:
138: expr.o: ../expr.l
139: ${Liszt} ${Flg} ../expr.l -o expr.o
140:
141: fixnum.o: ../fixnum.l
142: ${Liszt} ${Flg} ../fixnum.l -o fixnum.o
143:
144: funa.o: ../funa.l
145: ${Liszt} ${Flg} ../funa.l -o funa.o
146:
147: funb.o: ../funb.l
148: ${Liszt} ${Flg} ../funb.l -o funb.o
149:
150: func.o: ../func.l
151: ${Liszt} ${Flg} ../func.l -o func.o
152:
153: io.o: ../io.l
154: ${Liszt} ${Flg} ../io.l -o io.o
155:
156: tlev.o: ../tlev.l
157: ${Liszt} ${Flg} ../tlev.l -o tlev.o
158:
159: util.o: ../util.l
160: ${Liszt} ${Flg} ../util.l -o util.o
161:
162: lversion.o: ../lversion.l
163: ${Liszt} ${Flg} ../lversion.l -o lversion.o
164:
165: tags: ../tags ${Src} ${CTESrc}
166: awk -f ../ltags ${Src} ${CTESrc} | sort > ../tags
167:
168: print:
169: # @pr README
170: @ls -l | pr
171: @pr TODO Makefile* ../cmake.l lisztrc.l lisprc.l
172: @pr -h "Liszt.c (for non-VMUNIX systems only)" liszt.c
173: @/usr/local/slp -l ../lversion.l ../chead.l ../cmacros.l\
174: ../datab.l ../decl.l ../expr.l\
175: ../funa.l ../funb.l ../func.l\
176: ../fixnum.l ../array.l ../io.l ../tlev.l ../util.l
177:
178: iprint:
179: igrind -lsh Makefile*
180: igrind -lc -h "Liszt.c (for non-VMUNIX systems only)" liszt.c
181: vlp -p 10 ../lversion.l\
182: ../chead.l ../cmacros.l\
183: ../datab.l ../decl.l ../expr.l\
184: ../funa.l ../funb.l ../func.l\
185: ../fixnum.l ../array.l ../io.l ../tlev.l ../util.l\
186: ../cmake.l lisztrc.l lisprc.l > vlp.out
187: itroff vlp.out
188: rm vlp.out
189:
190: scriptcatall: ${AllSrc}
191: @../../scriptcat . liszt/68k ${AllSrc}
192:
193: copysource: ${AllSrc}
194: (tar cf - ${AllSrc} | (cd ${CopyTo} ; tar xf -))
195:
196: copyobjects: ${AllObj}
197: (tar cf - ${AllObj} | (cd ${CopyTo} ; tar xf -))
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.