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