BSD 4 release
[unix-history] / usr / src / cmd / pi / makefile
CommitLineData
31cef89c 1SCCSID = "@(#)pimakefile 1.14 10/28/80"
93ddd8ba 2WHOAMI = pi
6e638d0d 3INSTALLNAME = ${DESTDIR}/usr/ucb/pi
93ddd8ba 4VERSION = 2.0
ddda5d36
PK
5
6MKSTR = /usr/ucb/mkstr
7EYACC = /usr/ucb/eyacc
5f328766 8RM = -rm -f
31cef89c 9GET = touch
ddda5d36
PK
10
11CFLAGS = -O -w
12LDFLAGS = -z
13
6e638d0d 14LIBDIR = ${DESTDIR}/usr/lib
ddda5d36
PK
15TMPDIR = tmp
16
31cef89c 17ERRORSTRINGS = ${WHOAMI}${VERSION}strings
ddda5d36
PK
18
19SRCS = ato.c \
20 call.c case.c clas.c const.c conv.c cset.c \
c4e911b6 21 error.c fdec.c flvalue.c func.c gen.c hash.c \
ddda5d36
PK
22 lab.c lookup.c lval.c stklval.c \
23 main.c nl.c proc.c put.c \
24 rec.c rval.c stkrval.c\
25 stat.c string.c subr.c \
26 tree.c type.c var.c \
27 TRdata.c \
28 treen.c putn.c yycopy.c \
ddda5d36 29 yycosts.c yyerror.c yyget.c yyid.c yylex.c yymain.c yyoptions.c \
31cef89c
BJ
30 yypanic.c yyparse.c yyprint.c yyput.c yyrecover.c yyseman.c yytree.c \
31 p2put.c pcforop.c stab.c pcproc.c pcfunc.c pccaseop.c pclval.c
ddda5d36 32
31cef89c
BJ
33HDRS = 0.h OPnames.h align.h iorec.h objfmt.h pstab.h pc.h pcops.h \
34 send.h tree.h whoami.h yy.h
ddda5d36
PK
35
36OTHERS = pas.y opc.c version.c gram pic.c
37
38OBJS = ato.o \
39 call.o case.o clas.o const.o conv.o cset.o \
c4e911b6 40 error.o fdec.o flvalue.o func.o gen.o hash.o \
ddda5d36
PK
41 lab.o lookup.o lval.o stklval.o \
42 main.o nl.o proc.o put.o \
43 rec.o rval.o stkrval.o\
44 stat.o string.o subr.o \
45 tree.o type.o var.o \
46 TRdata.o \
47 treen.o putn.o yycopy.o \
48 y.tab.o \
49 yycosts.o yyerror.o yyget.o yyid.o yylex.o yymain.o yyoptions.o \
31cef89c
BJ
50 yypanic.o yyparse.o yyprint.o yyput.o yyrecover.o yyseman.o yytree.o \
51 p2put.o pcforop.o stab.o pcproc.o pcfunc.o pccaseop.o pclval.o
ddda5d36
PK
52
53a.out: ${OBJS} version
54 ./version > Version.c
55 ${CC} ${CFLAGS} ${LDFLAGS} ${OBJS} Version.c
56
31cef89c 57sources: ${SRCS} ${HDRS} ${OTHERS}
ddda5d36
PK
58
59${SRCS} ${HDRS} ${OTHERS}:
fe4b2b1e 60 ${GET} $@
ddda5d36
PK
61
62.c.o:
5f328766 63 ${RM} ${TMPDIR}/$*.c
ddda5d36
PK
64 ${MKSTR} - ${ERRORSTRINGS} ${TMPDIR}/ $*.c
65 cd ${TMPDIR} ; ${CC} ${CFLAGS} -I.. -c $*.c ; mv $*.o ../$*.o
5f328766 66 ${RM} ${TMPDIR}/$*.c
ddda5d36
PK
67
68y.tab.h: pas.y gram
5f328766 69 ${EYACC} pas.y > /dev/null
ddda5d36
PK
70 ex - y.tab.c <gram
71 @echo that makes y.tab.h and y.tab.c
72
0ddf12b0 73opcode.h: OPnames.h opc.c
ddda5d36
PK
74 cc opc.c -o opc
75 opc >opcode.h
5f328766 76 ${RM} opc
ddda5d36 77
ddda5d36
PK
78pTree.h:
79 echo "/* this is not pTree.h */" > pTree.h
80
05225596
PK
81version: version.c
82 ${CC} version.c -o version
83
ddda5d36
PK
84clean:
85 ${RM} *.o ${TMPDIR}/*.c
31cef89c 86 ${RM} y.tab.h y.tab.c y.tab.out
ddda5d36
PK
87 ${RM} ${ERRORSTRINGS}
88 ${RM} version Version.c
89 ${RM} a.out core *.list *.bak
fe4b2b1e 90 ${RM} opc pic tags
ddda5d36
PK
91
92print: sources
93 @pr makefile READ_ME
94 @ls -ls | pr
95 @cc -o pic pic.c
96 @pic | pr
97 @rm pic
98 @pr 0.h whoami.h main.c pas.y
99 @pr OPnames.h opcode.h tree.h
31cef89c 100 @pr pc.h
ddda5d36
PK
101 @pr [a-ln-x]*.c
102 @pr yy.h yy*.c
103
104install: a.out
105 cp ${ERRORSTRINGS} ${LIBDIR}/${ERRORSTRINGS}
31cef89c
BJ
106 cp ${INSTALLNAME} ${INSTALLNAME}.bak
107 cp a.out ${INSTALLNAME}
ddda5d36
PK
108
109depend: sources
110 /bin/grep '^#[ ]*include' *.h \
111 | sed '/<.*>/d' \
05225596 112 | sed 's/\(.*\):[^"]*"\([^"]*\)".*/\1: \2/' >makedep
ddda5d36
PK
113 /bin/grep '^#[ ]*include' *.c \
114 | sed '/<.*>/d' \
115 | sed 's/:[^"]*"\([^"]*\)".*/: \1/' \
116 | sed 's/\.c/.o/' >>makedep
117 echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep
118 echo '$$r makedep' >>eddep
119 echo 'w' >>eddep
120 cp makefile makefile.bak
121 ed - makefile < eddep
122 rm eddep makedep
123 echo '# DEPENDENCIES MUST END AT END OF FILE' >> makefile
124 echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> makefile
125 echo '# see make depend above' >> makefile
126
127# DO NOT DELETE THIS LINE -- make depend uses it
128
05225596
PK
1290.h: pTree.h
130yy.h: y.tab.h
ddda5d36
PK
131TRdata.o: whoami.h
132TRdata.o: 0.h
133ato.o: whoami.h
134ato.o: 0.h
135call.o: whoami.h
136call.o: 0.h
137call.o: tree.h
138call.o: opcode.h
139call.o: objfmt.h
140call.o: pc.h
141call.o: pcops.h
142case.o: whoami.h
143case.o: 0.h
144case.o: tree.h
145case.o: opcode.h
146clas.o: whoami.h
147clas.o: 0.h
148clas.o: tree.h
149const.o: whoami.h
150const.o: 0.h
151const.o: tree.h
152conv.o: whoami.h
153conv.o: 0.h
154conv.o: opcode.h
155conv.o: pcops.h
156cset.o: whoami.h
157cset.o: 0.h
158cset.o: tree.h
159cset.o: opcode.h
05225596
PK
160cset.o: objfmt.h
161cset.o: pc.h
162cset.o: pcops.h
ddda5d36
PK
163error.o: whoami.h
164error.o: 0.h
165error.o: yy.h
166fdec.o: whoami.h
167fdec.o: 0.h
168fdec.o: tree.h
169fdec.o: opcode.h
170fdec.o: objfmt.h
05225596 171fdec.o: align.h
ddda5d36
PK
172fdec.o: pc.h
173fdec.o: pcops.h
c4e911b6
PK
174flvalue.o: whoami.h
175flvalue.o: 0.h
176flvalue.o: tree.h
177flvalue.o: opcode.h
178flvalue.o: objfmt.h
179flvalue.o: pc.h
180flvalue.o: pcops.h
ddda5d36
PK
181func.o: whoami.h
182func.o: 0.h
183func.o: tree.h
184func.o: opcode.h
185gen.o: whoami.h
186gen.o: 0.h
187gen.o: tree.h
188gen.o: opcode.h
189gen.o: objfmt.h
190hash.o: whoami.h
191hash.o: 0.h
192hash.o: yy.h
193lab.o: whoami.h
194lab.o: 0.h
195lab.o: tree.h
196lab.o: opcode.h
197lab.o: objfmt.h
198lab.o: pc.h
199lab.o: pcops.h
200lookup.o: whoami.h
201lookup.o: 0.h
202lval.o: whoami.h
203lval.o: 0.h
204lval.o: tree.h
205lval.o: opcode.h
206lval.o: objfmt.h
207lval.o: pc.h
208lval.o: pcops.h
209main.o: whoami.h
210main.o: 0.h
211main.o: yy.h
212main.o: objfmt.h
213nl.o: whoami.h
214nl.o: 0.h
215nl.o: opcode.h
216nl.o: objfmt.h
217opc.o: OPnames.h
31cef89c
BJ
218p2put.o: whoami.h
219p2put.o: 0.h
220p2put.o: pcops.h
221p2put.o: pc.h
222pccaseop.o: whoami.h
223pccaseop.o: 0.h
224pccaseop.o: tree.h
225pccaseop.o: objfmt.h
226pccaseop.o: pcops.h
227pccaseop.o: pc.h
228pcforop.o: whoami.h
229pcforop.o: 0.h
230pcforop.o: opcode.h
231pcforop.o: tree.h
232pcforop.o: pc.h
233pcforop.o: pcops.h
234pcfunc.o: whoami.h
235pcfunc.o: 0.h
236pcfunc.o: tree.h
237pcfunc.o: opcode.h
238pcfunc.o: pc.h
239pcfunc.o: pcops.h
240pclval.o: whoami.h
241pclval.o: 0.h
242pclval.o: tree.h
243pclval.o: opcode.h
244pclval.o: objfmt.h
245pclval.o: pc.h
246pclval.o: pcops.h
247pcproc.o: whoami.h
248pcproc.o: 0.h
249pcproc.o: tree.h
250pcproc.o: opcode.h
251pcproc.o: pc.h
252pcproc.o: pcops.h
ddda5d36
PK
253pic.o: OPnames.h
254proc.o: whoami.h
255proc.o: 0.h
256proc.o: tree.h
257proc.o: opcode.h
258proc.o: objfmt.h
259put.o: whoami.h
260put.o: opcode.h
261put.o: 0.h
262put.o: objfmt.h
263put.o: pc.h
264put.o: OPnames.h
265rec.o: whoami.h
266rec.o: 0.h
267rec.o: tree.h
268rec.o: opcode.h
269rval.o: whoami.h
270rval.o: 0.h
271rval.o: tree.h
272rval.o: opcode.h
273rval.o: objfmt.h
274rval.o: pc.h
275rval.o: pcops.h
31cef89c
BJ
276stab.o: whoami.h
277stab.o: 0.h
278stab.o: pstab.h
279stab.o: pc.h
ddda5d36
PK
280stat.o: whoami.h
281stat.o: 0.h
282stat.o: tree.h
283stat.o: objfmt.h
284stat.o: pcops.h
285stat.o: pc.h
286stat.o: opcode.h
287stklval.o: whoami.h
288stklval.o: 0.h
289stklval.o: tree.h
290stklval.o: opcode.h
291stklval.o: objfmt.h
292stkrval.o: whoami.h
293stkrval.o: 0.h
294stkrval.o: tree.h
295stkrval.o: opcode.h
296stkrval.o: objfmt.h
297stkrval.o: pcops.h
298string.o: whoami.h
299string.o: 0.h
300string.o: send.h
301subr.o: whoami.h
302subr.o: 0.h
303tree.o: whoami.h
304tree.o: 0.h
305type.o: whoami.h
306type.o: 0.h
307type.o: tree.h
308type.o: objfmt.h
309var.o: whoami.h
310var.o: 0.h
05225596 311var.o: align.h
ddda5d36
PK
312var.o: pc.h
313var.o: pcops.h
314var.o: iorec.h
05225596
PK
315y.tab.o: whoami.h
316y.tab.o: 0.h
317y.tab.o: yy.h
318y.tab.o: tree.h
ddda5d36
PK
319yycopy.o: 0.h
320yycopy.o: yy.h
321yycosts.o: whoami.h
322yycosts.o: 0.h
323yycosts.o: yy.h
324yyerror.o: whoami.h
325yyerror.o: 0.h
326yyerror.o: yy.h
327yyget.o: whoami.h
328yyget.o: 0.h
329yyget.o: yy.h
330yyid.o: whoami.h
331yyid.o: 0.h
332yyid.o: yy.h
333yylex.o: whoami.h
334yylex.o: 0.h
335yylex.o: yy.h
336yymain.o: whoami.h
337yymain.o: 0.h
338yymain.o: yy.h
339yymain.o: objfmt.h
340yyoptions.o: whoami.h
341yyoptions.o: 0.h
342yyoptions.o: yy.h
343yypanic.o: whoami.h
344yypanic.o: 0.h
345yypanic.o: yy.h
346yyparse.o: whoami.h
347yyparse.o: 0.h
348yyparse.o: yy.h
349yyprint.o: whoami.h
350yyprint.o: 0.h
351yyprint.o: yy.h
352yyput.o: whoami.h
353yyput.o: 0.h
354yyput.o: tree.h
355yyput.o: yy.h
356yyrecover.o: whoami.h
357yyrecover.o: 0.h
358yyrecover.o: yy.h
359yyseman.o: whoami.h
360yyseman.o: 0.h
361yyseman.o: yy.h
362yytree.o: whoami.h
363yytree.o: 0.h
364yytree.o: tree.h
365# DEPENDENCIES MUST END AT END OF FILE
366# IF YOU PUT STUFF HERE IT WILL GO AWAY
367# see make depend above