|
|
1.1 root 1: # $Header: Makefile,v 1.28 84/02/03 08:09:00 jkf 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 line is modifed by './lispconf', don't modify it by hand.
43: #ifdef vax
44: Mach = vax
45: #else
46: #Mach = 68k
47: #endif
48:
49: RootDir = /usr/src/ucb/lisp
50: #ifdef ucbstd
51: LibDir = ${DESTDIR}/usr/lib/lisp
52: ObjDir = ${DESTDIR}/usr/ucb
53: #else
54: #LibDir = ${DESTDIR}${RootDir}/lisplib
55: #ObjDir = ${DESTDIR}${RootDir}/bin
56: #endif
57: LispDist = /usr/src/ucb/lispdist
58: CopyTo = /dev/null
59: Lisp = ${ObjDir}/lisp
60: Liszt = ${ObjDir}/liszt
61: Version = 38.89
62:
63: # definitions that you shouldn't change
64: FranzD = franz/${Mach}
65: LisztD = liszt/${Mach}
66: CcodeDir = ../../${FranzD}
67:
68: #--- this directory also has some sources
69: Src = Makefile ReadMe lispconf lispnews scriptcat Notice cvt.awk
70:
71: #make as lisp and lisp assuming that there are .s files in the
72: #lisplib and liszt subdirs
73: fromasm:
74: #ifdef unisoft
75: # (cd as68 ; make DESTDIR=${LibDir} install)
76: #endif
77: (cd utils ; make LibDir=${LibDir} all)
78: (cd ${LibDir} ; make LibDir=${LibDir} as nld fromasm)
79: (cd ${FranzD} ; make LibDir=${LibDir} ObjDir=${ObjDir} nlisp)
80: (cd ${LisztD} ; make Lisp=${CcodeDir}/nlisp fromasm)
81: (cd liszt ; make Liszt=${Mach}/nliszt lxref)
82:
83: ## when the lisp system is rebuilt as part of the entire Nbsd distribution,
84: # three calls are made:
85: # first 'make' to build lisp,liszt and lxref
86: # next 'make DESTDIR=xxx install' to install the new lisp
87: # finally 'make clean' to clean out objects
88: #
89: # the 'make all' is done when just a 'make' is done
90: all:
91: (cd utils ; make LibDir=${LibDir} all)
92: (cd ${LibDir} ; make as nld)
93: (cd ${FranzD} ; make LibDir=${LibDir} ObjDir=${ObjDir} donlisp)
94: (cd ${LisztD} ; make Lisp=${CcodeDir}/nlisp nliszt)
95: (cd liszt ; make Liszt=${Mach}/nliszt lxref)
96:
97:
98: copylibrary:
99: #ifdef ucbstd
100: (cd lisplib ; make CopyTo=${LibDir} copysource)
101: -mkdir ${LibDir}/manual
102: (cd doc; make LibDir=${LibDir} FromDir=../lisplib \
103: CopyTo=${LibDir}/manual copymanual)
104: #endif
105:
106: fast:
107: date
108: (cd utils ; make LibDir=${LibDir} all)
109: (cd ${LibDir}; make as nld tackon)
110: (cd ${FranzD}; make Lisp=${Lisp} Liszt=${Liszt} LibDir=${LibDir}\
111: ObjDir=${ObjDir} donlisp)
112: (cd ${LisztD}; make Lisp=${CcodeDir}/nlisp Liszt=${Liszt} donliszt)
113: (X=`pwd` ; cd ${LibDir}; make Liszt=$$X/${LisztD}/nliszt clean all)
114: date
115: (cd ${FranzD}; make Liszt=../../${LisztD}/nliszt \
116: ObjDir=${ObjDir} LibDir=${LibDir} donlisp)
117: date
118: (cd ${LisztD}; make Lisp=${CcodeDir}/nlisp \
119: Liszt=./nliszt cleanobj nliszt)
120: (cd liszt ; make Liszt=${Mach}/nliszt lxref)
121: date
122:
123: slow:
124: date
125: (cd utils ; make LibDir=${LibDir} all)
126: (cd ${LibDir}; make as nld)
127: (cd ${FranzD}; make LibDir=${LibDir} ObjDir=${ObjDir} snlisp)
128: date
129: (cd ${LisztD}; make Lisp=${CcodeDir}/snlisp snliszt)
130: (cd ${LisztD}; make Lisp=${CcodeDir}/snlisp Liszt=./snliszt nliszt)
131: rm -f ${LisztD}/snliszt
132: date
133: rm -f ${FranzD}/snlisp
134: (X=`pwd`; cd ${FranzD};make Liszt=$$X/${LisztD}/nliszt \
135: ObjDir=${ObjDir}\
136: LibDir=${LibDir} nlisp)
137: (cd ${LisztD}; make Lisp=${CcodeDir}/nlisp Liszt=./nliszt nliszt)
138: (X=`pwd`; cd ${LibDir} ; make Liszt=$$X/${LisztD}/nliszt all)
139: (X=`pwd`; cd ${LibDir} ; make Liszt=$$X/${LisztD}/nliszt struct-again)
140: (X=`pwd`; cd ${FranzD} ; make Liszt=$$X/${LisztD}/nliszt \
141: ObjDir=${ObjDir}\
142: LibDir=${LibDir} donlisp)
143: (cd ${LisztD}; make Lisp=${CcodeDir}/nlisp Liszt=./nliszt nliszt)
144: (cd liszt ; make Liszt=${Mach}/nliszt lxref)
145: date
146:
147: install:
148: (cd ${FranzD}; make ObjDir=${ObjDir} LibDir=${LibDir} install)
149: (cd ${LisztD}; make ObjDir=${ObjDir} LibDir=${LibDir} install)
150: (cd liszt; make ObjDir=${ObjDir} LibDir=${LibDir} install)
151:
152:
153: copyallsource:
154: -mkdir ${CopyTo}/franz
155: -mkdir ${CopyTo}/franz/vax
156: -mkdir ${CopyTo}/franz/68k
157: -mkdir ${CopyTo}/liszt
158: -mkdir ${CopyTo}/liszt/vax
159: -mkdir ${CopyTo}/liszt/68k
160: -mkdir ${CopyTo}/doc
161: -mkdir ${CopyTo}/utils
162: -mkdir ${CopyTo}/lisplib
163: -mkdir ${CopyTo}/lisplib/manual
164: -mkdir ${CopyTo}/lisplib/autorun
165: -mkdir ${CopyTo}/pearl
166: cp ${Src} ${CopyTo}
167: (cd franz; make CopyTo=${CopyTo}/franz copysource)
168: (cd franz/vax; make CopyTo=${CopyTo}/franz/vax copysource)
169: (cd franz/68k; make CopyTo=${CopyTo}/franz/68k copysource)
170: (cd liszt; make CopyTo=${CopyTo}/liszt copysource)
171: (cd liszt/vax; make CopyTo=${CopyTo}/liszt/vax copysource)
172: (cd liszt/68k; make CopyTo=${CopyTo}/liszt/68k copysource)
173: (cd ${LibDir} ; make CopyTo=${CopyTo}/lisplib copysource)
174: (cd doc; make CopyTo=${CopyTo}/doc copysource)
175: (cd utils; make CopyTo=${CopyTo}/utils copysource)
176: (cd doc; \
177: make FromDir=${LibDir} CopyTo=${CopyTo}/lisplib/manual copymanual)
178: (cd pearl; make CopyTo=${CopyTo}/pearl copysource)
179:
180: lispdist:
181: (cd ${LispDist}; rm -f -r *)
182: make CopyTo=${LispDist} copyallsource
183:
184: copyallobjects:
185: (cd franz/vax; make CopyTo=${CopyTo}/franz/vax copyobjects)
186: (cd franz/68k; make CopyTo=${CopyTo}/franz/68k copyobjects)
187: (cd liszt/vax; make CopyTo=${CopyTo}/liszt/vax copyobjects)
188: (cd ${LibDir} ; make CopyTo=${CopyTo}/lisplib copyobjects)
189:
190: prelispscriptdist:
191: (cd doc ; make all)
192:
193: lispscriptdist:
194: (cd ${LispDist}; rm -f -r opus*)
195: make prelispscriptdist
196: (make genlispscript | (cd ${LispDist} ; \
197: divide -500000 -popus${Version}. -l))
198:
199: xtra:
200: (cd ${LispDist}; rm -f -r x${Mach}*)
201: make Mach=${Mach} setupx
202: (make Mach=${Mach} genxtra) | \
203: (cd ${LispDist} ; divide -500000 -px${Mach}.${Version}. -l)
204:
205: lispas:
206: make genas68 > ${LispDist}/lispas
207:
208: setupx:
209: (X=`pwd`; cd ${LibDir};\
210: make Liszt="$$X/liszt/${Mach}/nliszt -e '(sstatus feature for-${Mach})'" xtra)
211: (cd liszt/${Mach}; make -f Makefile2 xtra)
212:
213: genlispscript:
214: @echo \# Franz Lisp distribution Opus ${Version}
215: @echo mkdir franz
216: @echo mkdir franz/h
217: @echo mkdir franz/vax
218: @echo mkdir franz/68k
219: @echo mkdir liszt
220: @echo mkdir liszt/vax
221: @echo mkdir liszt/68k
222: @echo mkdir doc
223: @echo mkdir utils
224: @echo mkdir pearl
225: @echo mkdir lisplib
226: @echo mkdir lisplib/manual
227: @echo mkdir lisplib/autorun
228: @scriptcat . . ${Src}
229: @echo chmod 775 lispconf
230: @(cd franz ; make scriptcatall)
231: @(cd franz/vax ; make scriptcatall)
232: @(cd franz/68k ; make scriptcatall)
233: @(cd liszt ; make scriptcatall)
234: @(cd liszt/vax ; make scriptcatall)
235: @(cd liszt/68k ; make scriptcatall)
236: @(cd doc ; make LibDir=${LibDir} scriptcatall)
237: @(cd utils ; make scriptcatall )
238: @(X=`pwd` ; cd pearl ; make CdTo=$$X scriptcatall)
239: @(X=`pwd` ; cd ${LibDir} ; make CdTo=$$X scriptcatall)
240: @echo \# end of Franz Lisp Distribution
241:
242: genas68:
243: @(echo mkdir as68;cd as68; make scriptcat)
244:
245: genxtra:
246: @(X=`pwd` ; cd ${LibDir} ; make CdTo=$$X scriptcatxtra)
247: @(cd liszt/${Mach} ; make -f Makefile2 scriptcatxtra)
248:
249: clean:
250: cd franz ; make clean
251: cd franz/vax; make clean
252: cd franz/68k; make clean
253: cd liszt ; make clean
254: cd liszt/vax; make clean
255: cd liszt/68k; make clean
256: cd doc ; make clean
257:
258: vdist-dim:
259: rdist -v -d host=dim
260:
261: dist-dim:
262: rdist -d host=dim
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.