|
|
1.1 root 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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.