|
|
1.1 root 1: # $Header: Makefile,v 1.13 85/03/24 11:18:37 sklower Exp $
2: # Makefile for /usr/lib/lisp
3: # this directory contains the lisp coded portion of the standard
4: # lisp system and other useful lisp programs.
5: # The command 'make all' insures that all source files are compiled
6: # The command 'make install' installs these files in the standard
7: # place (/usr/lib/lisp). This is only useful of course if the current
8: # directory is not /usr/lib/lisp.
9: #
10: .SUFFIXES: .l.s.o
11:
12: .l.s:
13: ${Liszt} -xaqS $*
14: .l.o:
15: ${Liszt} -xaq $*
16:
17: #--- Default paths and programs:
18: LibDir = /usr/lib/lisp
19: CopyTo = /dev/null
20: Liszt = liszt
21:
22:
23: #--- ReqSrc: required source for building lisp system
24: #
25: ReqSrc = charmac.l common0.l common1.l common2.l common3.l toplevel.l \
26: syntax.l macros.l vector.l array.l pp.l format.l version.l \
27: tpl.l fcninfo.l
28:
29:
30: #--- OtherSrc: other lisp coded library files
31: OtherSrc = machacks.l loop.l ucifnc.l ucido.l jkfmacs.l trace.l\
32: record.l syscall.l \
33: cmumacs.l cmufncs.l fix.l step.l cmufile.l cmutpl.l cmuedit.l \
34: structini.l struct.l prof.l hash.l flavorm.l lmhacks.l
35:
36: LocalSrc = describe.l flavors.l vanilla.l
37:
38: ReqObj = charmac.o common0.o common1.o common2.o common3.o toplevel.o \
39: syntax.o macros.o vector.o array.o pp.o format.o version.o \
40: tpl.o fcninfo.o
41:
42: OtherObj = machacks.o loop.o ucifnc.o ucido.o jkfmacs.o trace.o\
43: record.o syscall.o\
44: cmumacs.o cmufncs.o fix.o step.o cmufile.o cmutpl.o cmuedit.o \
45: struct.o prof.o hash.o flavorm.o lmhacks.o
46:
47: LocalObj = describe.o flavors.o vanilla.o
48:
49: #--- AllSrc: all source files required for lisp system
50: # LocalSrc isn't included!
51: # Now it is! (SMH@MIT-EMS)
52:
53: AllSrc = Makefile ReadMe buildlisp.l cmuenv.l fixit.ref \
54: ${ReqSrc} ${OtherSrc} autorun/vax autorun/unisoft \
55: autorun/sun4.2 autorun/mc500 autorun/68k \
56: $(LocalSrc)
57:
58: AllObj = ${ReqObj} ${OtherObj}
59:
60: # all: ${AllObj}
61:
62: all: ${AllObj} ${LocalObj}
63:
64: required: ${ReqObj}
65:
66: DotSSrc = charmac.s common0.s common1.s\
67: common2.s common3.s toplevel.s syntax.s macros.s\
68: vector.s array.s pp.s format.s\
69: version.s tpl.s fcninfo.s
70:
71: xtra: ${DotSSrc}
72:
73: fromasm:
74: for i in *.s; do echo $$i; ${LibDir}/as $$i; done
75: # rm -f *.s
76:
77:
78: ## defstruct should be compiled with a compiled version of itself.
79: ## When a compiled form doesn't exist, structini.l can be used to
80: ## build a struct.o which is close but not exactly what you want.
81: ## Recompiling struct will use struct.o and create the correct struct.o
82: ##
83: struct-again:
84: ${Liszt} -xaq struct
85:
86: ## The three flavor files have dependencies (SMH@MIT-EMS):
87: flavors.o: flavorm.o
88: vanilla.o: flavors.o
89:
90: ## this will only work if you have an up to date version of ctags which
91: ## understands lisp files.
92:
93: tags: ${AllSrc}
94: ctags ${AllSrc}
95:
96: sources: ${AllSrc}
97:
98: xref:
99: lxref ${AllSrc} > xref
100:
101: echofiles:
102: @echo ${ReqSrc} ${OtherSrc}
103:
104: echorequired:
105: @echo ${ReqSrc}
106:
107: # updatemachine will vcp all objects and source to machine
108: # named with 'mach' on the command line
109:
110: updatemachine: ${AllSrc} ${AllObj}
111: -vcp -wfq /usr/ucb/lisp /usr/ucb/liszt ${mach}:.
112: -vcp -wfq ${AllSrc} ${mach}:/usr/lib/lisp
113: -vcp -wfq ${AllObj} ${mach}:/usr/lib/lisp
114:
115: copysource: ${AllSrc}
116: (tar cf - ${AllSrc} | (cd ${CopyTo} ; tar xf -))
117:
118: copyobjects: ${AllObj}
119: (tar cf - ${AllObj} | (cd ${CopyTo} ; tar xf -))
120:
121: scriptcatall: ${AllSrc}
122: @(X=`pwd` ; cd ${CdTo}; scriptcat $$X lisplib ${AllSrc})
123:
124: scriptcatxtra:
125: @(X=`pwd` ; cd ${CdTo}; scriptcat $$X lisplib ${DotSSrc})
126:
127: as:
128: @echo "Grabbing as from /bin"
129: cp /bin/as as
130:
131: nld:
132: @echo "Grabbing nld from /bin"
133: cp /bin/ld nld
134:
135: cleanreq:
136: -rm -f ${ReqObj}
137:
138: cleanall:
139: -rm -f ${AllObj}
140:
141: cleanother:
142: -rm -f ${OtherObj}
143:
144: clean:
145: -rm -f *.o
146: -rm -f *.blat
147: -rm -f *.x
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.