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