Commit | Line | Data |
---|---|---|
fb30c426 C |
1 | # $Header: Makefile,v 1.30 87/12/16 22:59:24 sklower Exp $ |
2 | # $Locker: $ | |
3 | # Makefile for total Franz Lisp system. | |
4 | # | |
5 | # Read the file ReadMe for directions on how to build the system. | |
6 | # | |
7 | # capabilities of this directory. | |
8 | # copylibrary: copies distribution copy of lisp directory to LibDir | |
9 | # fast: make a new lisp and liszt assuming that a liszt and lisp | |
10 | # already exist. Results are franz/mylisp and liszt/nliszt. | |
11 | # Use 'make install' to install it. | |
12 | # install: moves franz/mylisp to ObjDir/lisp and moves | |
13 | # liszt/nliszt to ObjDir/liszt | |
14 | # | |
15 | #-- the rest of the capabilities are for use when making a distribution | |
16 | # directory. | |
17 | # copyallsource: copies lisp distrib files in the current directory tree | |
18 | # to the tree CopyTo. | |
19 | # CopyTo should exist already, but the subdirectories | |
20 | # need not exist. | |
21 | # | |
22 | # Before doing one of the below, you should make sure that the on line | |
23 | # manual is up to date. Go to the doc subdirectory and type | |
24 | # 'make rall install' | |
25 | # | |
26 | # lispdist: makes a new distribution directory in LispDist. | |
27 | # LispDist should already exist. | |
28 | # | |
29 | # lispscriptdist: make a shell script lisp distribution. The result is put | |
30 | # in LispDist as a set of text files comprising a shell script. | |
31 | # The files are broken into a nice size for transport over the berknet. | |
32 | # The first thing that lispscriptdist does is to, | |
33 | # 'make prelispscriptdist' | |
34 | # Which insures that the files are ready to go. | |
35 | # Also, the value of Version should be set to the version number of | |
36 | # lisp you are making. | |
37 | # | |
38 | #--- Default paths and programs | |
39 | DESTDIR = | |
40 | .DEFAULT: all | |
41 | ||
42 | # the following lines are modifed by './lispconf', so don't modify it by hand! | |
43 | #ifdef vax | |
44 | #Mach = vax | |
45 | #endif | |
46 | #ifdef tahoe | |
47 | Mach = tahoe | |
48 | #endif | |
49 | #ifdef 68k | |
50 | #Mach = 68k | |
51 | #endif | |
52 | ||
53 | RootDir = /usr/src/ucb/lisp | |
54 | #ifdef ucbstd | |
55 | LibDir = ${DESTDIR}/usr/lib/lisp | |
56 | ObjDir = ${DESTDIR}/usr/ucb | |
57 | #else | |
58 | #LibDir = ${DESTDIR}${RootDir}/lisplib | |
59 | #ObjDir = ${DESTDIR}${RootDir}/bin | |
60 | #endif | |
61 | LispDist = /usr/src/ucb/lispdist | |
62 | CopyTo = /dev/null | |
63 | Lisp = ${ObjDir}/lisp | |
64 | Liszt = ${ObjDir}/liszt | |
65 | Version = 38.93 | |
66 | ||
67 | # definitions that you shouldn't change | |
68 | FranzD = franz/${Mach} | |
69 | LisztD = liszt/${Mach} | |
70 | CcodeDir = ../../${FranzD} | |
71 | ||
72 | # --- this directory also has some sources | |
73 | Src = Makefile ReadMe ReadMe.tahoe lispconf lispnews scriptcat \ | |
74 | Notes.tahoe Notice cvt.awk | |
75 | ||
76 | # make as lisp and lisp assuming that there are .s files in the | |
77 | # lisplib and liszt subdirs | |
78 | fromasm: | |
79 | #ifdef unisoft | |
80 | # (cd as68 ; make DESTDIR=${LibDir} install) | |
81 | #endif | |
82 | (cd utils ; make LibDir=${LibDir} all) | |
83 | (cd ${LibDir} ; make LibDir=${LibDir} as nld fromasm) | |
84 | (cd ${FranzD} ; make LibDir=${LibDir} ObjDir=${ObjDir} nlisp) | |
85 | (cd ${LisztD} ; make Lisp=${CcodeDir}/nlisp fromasm) | |
86 | (cd liszt ; make Liszt=${Mach}/nliszt lxref) | |
87 | ||
88 | ## when the lisp system is rebuilt as part of the entire Nbsd distribution, | |
89 | # three calls are made: | |
90 | # first 'make' to build lisp,liszt and lxref | |
91 | # next 'make DESTDIR=xxx install' to install the new lisp | |
92 | # finally 'make clean' to clean out objects | |
93 | # | |
94 | # the 'make all' is done when just a 'make' is done | |
95 | all: slow | |
96 | ||
97 | old-all: | |
98 | (cd utils ; make LibDir=${LibDir} all) | |
99 | (cd ${LibDir} ; make as nld) | |
100 | (cd ${FranzD} ; make LibDir=${LibDir} ObjDir=${ObjDir} donlisp) | |
101 | (cd ${LisztD} ; make Lisp=${CcodeDir}/nlisp nliszt) | |
102 | (cd liszt ; make Liszt=${Mach}/nliszt lxref) | |
103 | ||
104 | ||
105 | copylibrary: | |
106 | #ifdef ucbstd | |
107 | (cd lisplib ; make CopyTo=${LibDir} copysource) | |
108 | #endif | |
109 | ||
110 | fast: | |
111 | date | |
112 | (cd utils ; make LibDir=${LibDir} all) | |
113 | (cd ${LibDir}; make as nld tackon) | |
114 | (cd ${FranzD}; make Lisp=${Lisp} Liszt=${Liszt} LibDir=${LibDir}\ | |
115 | ObjDir=${ObjDir} donlisp) | |
116 | (cd ${LisztD}; make Lisp=${CcodeDir}/nlisp Liszt=${Liszt} donliszt) | |
117 | (X=`pwd` ; cd ${LibDir}; make Liszt=$$X/${LisztD}/nliszt clean all) | |
118 | date | |
119 | (cd ${FranzD}; make Liszt=../../${LisztD}/nliszt \ | |
120 | ObjDir=${ObjDir} LibDir=${LibDir} donlisp) | |
121 | date | |
122 | (cd ${LisztD}; make Lisp=${CcodeDir}/nlisp \ | |
123 | Liszt=./nliszt cleanobj nliszt) | |
124 | (cd liszt ; make Liszt=${Mach}/nliszt lxref) | |
125 | (cd doc; make LibDir=${LibDir} install) | |
126 | date | |
127 | ||
128 | slow: | |
129 | date | |
130 | (cd utils ; make LibDir=${LibDir} all) | |
131 | (cd ${LibDir}; make as nld) | |
132 | (cd ${FranzD}; make LibDir=${LibDir} ObjDir=${ObjDir} snlisp) | |
133 | date | |
134 | (cd ${LisztD}; make Lisp=${CcodeDir}/snlisp snliszt) | |
135 | (cd ${LisztD}; make Lisp=${CcodeDir}/snlisp Liszt=./snliszt nliszt) | |
136 | rm -f ${LisztD}/snliszt | |
137 | date | |
138 | rm -f ${FranzD}/snlisp | |
139 | (X=`pwd`; cd ${FranzD};make Liszt=$$X/${LisztD}/nliszt \ | |
140 | ObjDir=${ObjDir}\ | |
141 | LibDir=${LibDir} nlisp) | |
142 | (cd ${LisztD}; make Lisp=${CcodeDir}/nlisp Liszt=./nliszt nliszt) | |
143 | (X=`pwd`; cd ${LibDir} ; make Liszt=$$X/${LisztD}/nliszt all) | |
144 | (X=`pwd`; cd ${LibDir} ; make Liszt=$$X/${LisztD}/nliszt struct-again) | |
145 | (X=`pwd`; cd ${FranzD} ; make Liszt=$$X/${LisztD}/nliszt \ | |
146 | ObjDir=${ObjDir}\ | |
147 | LibDir=${LibDir} donlisp) | |
148 | (cd ${LisztD}; make Lisp=${CcodeDir}/nlisp Liszt=./nliszt nliszt) | |
149 | (cd liszt ; make Liszt=${Mach}/nliszt lxref) | |
150 | (cd doc; make LibDir=${LibDir} install) | |
151 | date | |
152 | ||
153 | install: | |
154 | (cd ${FranzD}; make ObjDir=${ObjDir} LibDir=${LibDir} install) | |
155 | (cd ${LisztD}; make ObjDir=${ObjDir} LibDir=${LibDir} install) | |
156 | (cd liszt; make ObjDir=${ObjDir} LibDir=${LibDir} install) | |
157 | ||
158 | ||
159 | copyallsource: | |
160 | -mkdir ${CopyTo}/franz | |
161 | -mkdir ${CopyTo}/franz/vax | |
162 | -mkdir ${CopyTo}/franz/tahoe | |
163 | -mkdir ${CopyTo}/franz/68k | |
164 | -mkdir ${CopyTo}/liszt | |
165 | -mkdir ${CopyTo}/liszt/vax | |
166 | -mkdir ${CopyTo}/liszt/tahoe | |
167 | -mkdir ${CopyTo}/liszt/68k | |
168 | -mkdir ${CopyTo}/doc | |
169 | -mkdir ${CopyTo}/utils | |
170 | -mkdir ${CopyTo}/lisplib | |
171 | -mkdir ${CopyTo}/lisplib/manual | |
172 | -mkdir ${CopyTo}/lisplib/autorun | |
173 | -mkdir ${CopyTo}/pearl | |
174 | (tar crf - ${Src} | (cd ${CopyTo}; tar xfp -)) | |
175 | (cd franz; make CopyTo=${CopyTo}/franz copysource) | |
176 | (cd franz/vax; make CopyTo=${CopyTo}/franz/vax copysource) | |
177 | (cd franz/tahoe; make CopyTo=${CopyTo}/franz/tahoe copysource) | |
178 | (cd franz/68k; make CopyTo=${CopyTo}/franz/68k copysource) | |
179 | (cd liszt; make CopyTo=${CopyTo}/liszt copysource) | |
180 | (cd liszt/vax; make CopyTo=${CopyTo}/liszt/vax copysource) | |
181 | (cd liszt/tahoe; make CopyTo=${CopyTo}/liszt/tahoe copysource) | |
182 | (cd liszt/68k; make CopyTo=${CopyTo}/liszt/68k copysource) | |
183 | (cd ${LibDir} ; make CopyTo=${CopyTo}/lisplib copysource) | |
184 | (cd doc; make CopyTo=${CopyTo}/doc copysource) | |
185 | (cd utils; make CopyTo=${CopyTo}/utils copysource) | |
186 | (cd pearl; make CopyTo=${CopyTo}/pearl copysource) | |
187 | ||
188 | lispdist: | |
189 | (cd ${LispDist}; rm -f -r *) | |
190 | make CopyTo=${LispDist} copyallsource | |
191 | ||
192 | copyallobjects: | |
193 | (cd franz/vax; make CopyTo=${CopyTo}/franz/vax copyobjects) | |
194 | (cd franz/tahoe; make CopyTo=${CopyTo}/franz/tahoe copyobjects) | |
195 | (cd franz/68k; make CopyTo=${CopyTo}/franz/68k copyobjects) | |
196 | (cd liszt/vax; make CopyTo=${CopyTo}/liszt/vax copyobjects) | |
197 | (cd liszt/tahoe; make CopyTo=${CopyTo}/liszt/tahoe copyobjects) | |
198 | (cd ${LibDir} ; make CopyTo=${CopyTo}/lisplib copyobjects) | |
199 | ||
200 | prelispscriptdist: | |
201 | (cd doc ; make all) | |
202 | ||
203 | lispscriptdist: | |
204 | (cd ${LispDist}; rm -f -r opus*) | |
205 | make prelispscriptdist | |
206 | (make genlispscript | (cd ${LispDist} ; \ | |
207 | divide -500000 -popus${Version}. -l)) | |
208 | ||
209 | xtra: | |
210 | (cd ${LispDist}; rm -f -r x${Mach}*) | |
211 | make Mach=${Mach} setupx | |
212 | (make Mach=${Mach} genxtra) | \ | |
213 | (cd ${LispDist} ; divide -500000 -px${Mach}.${Version}. -l) | |
214 | ||
215 | lispas: | |
216 | make genas68 > ${LispDist}/lispas | |
217 | ||
218 | setupx: | |
219 | (X=`pwd`; cd ${LibDir};\ | |
220 | make Liszt="$$X/liszt/${Mach}/nliszt -e '(sstatus feature for-${Mach})'" xtra) | |
221 | (cd liszt/${Mach}; make -f Makefile2 xtra) | |
222 | ||
223 | genlispscript: | |
224 | @echo \# Franz Lisp distribution Opus ${Version} | |
225 | @echo mkdir franz | |
226 | @echo mkdir franz/h | |
227 | @echo mkdir franz/vax | |
228 | @echo mkdir franz/tahoe | |
229 | @echo mkdir franz/68k | |
230 | @echo mkdir liszt | |
231 | @echo mkdir liszt/tahoe | |
232 | @echo mkdir liszt/68k | |
233 | @echo mkdir doc | |
234 | @echo mkdir utils | |
235 | @echo mkdir pearl | |
236 | @echo mkdir lisplib | |
237 | @echo mkdir lisplib/manual | |
238 | @echo mkdir lisplib/autorun | |
239 | @scriptcat . . ${Src} | |
240 | @echo chmod 775 lispconf | |
241 | @(cd franz ; make scriptcatall) | |
242 | @(cd franz/vax ; make scriptcatall) | |
243 | @(cd franz/tahoe ; make scriptcatall) | |
244 | @(cd franz/68k ; make scriptcatall) | |
245 | @(cd liszt ; make scriptcatall) | |
246 | @(cd liszt/tahoe ; make scriptcatall) | |
247 | @(cd liszt/68k ; make scriptcatall) | |
248 | @(cd doc ; make LibDir=${LibDir} scriptcatall) | |
249 | @(cd utils ; make scriptcatall ) | |
250 | @(X=`pwd` ; cd pearl ; make CdTo=$$X scriptcatall) | |
251 | @(X=`pwd` ; cd ${LibDir} ; make CdTo=$$X scriptcatall) | |
252 | @echo \# end of Franz Lisp Distribution | |
253 | ||
254 | genas68: | |
255 | @(echo mkdir as68;cd as68; make scriptcat) | |
256 | ||
257 | genxtra: | |
258 | @(X=`pwd` ; cd ${LibDir} ; make CdTo=$$X scriptcatxtra) | |
259 | @(cd liszt/${Mach} ; make -f Makefile2 scriptcatxtra) | |
260 | ||
261 | clean: | |
262 | cd franz ; make clean | |
263 | cd franz/vax; make clean | |
264 | cd franz/tahoe; make clean | |
265 | cd franz/68k; make clean | |
266 | cd liszt ; make clean | |
267 | cd liszt/vax; make clean | |
268 | cd liszt/tahoe; make clean | |
269 | cd liszt/68k; make clean | |
270 | cd doc ; make clean | |
271 | ||
272 | depend: | |
273 | ||
274 | vdist-dim: | |
275 | rdist -v -d host=dim | |
276 | ||
277 | dist-dim: | |
278 | rdist -d host=dim |