xref: /original-bsd/usr.bin/pascal/src/pimakefile (revision e59fb703)
1#
2# Copyright (c) 1980 Regents of the University of California.
3# All rights reserved.  The Berkeley software License Agreement
4# specifies the terms and conditions for redistribution.
5#
6#	@(#)pimakefile	5.3 (Berkeley) 05/09/89
7#
8SCCSID = "@(#)pimakefile 5.3 05/09/89"
9
10INSTALLDIR = ${DESTDIR}/usr/bin
11INSTALLNAME = ${INSTALLDIR}/pi
12BINDIR = ../pi
13SRCDIR = ../src
14WHOAMI = pi
15VERSION = 3.1
16DATE = 05/09/89
17
18MKSTR = /usr/bin/mkstr
19EYACC = ../eyacc/eyacc
20RM = -rm -f
21TOUCH = touch -f
22
23CFLAGS = -O
24LDFLAGS = -z
25
26LIBDIR = ${DESTDIR}/usr/lib
27TMPDIR = tmp
28
29ERRORSTRINGS = ${WHOAMI}${VERSION}strings
30OLDSTRINGS = ${WHOAMI}[0-9]*.[0-9]*strings
31HOWFILE = how_${WHOAMI}
32
33SRCS =	ato.c \
34	call.c case.c clas.c const.c conv.c cset.c \
35	error.c fdec.c fend.c fhdr.c flvalue.c forop.c func.c gen.c hash.c \
36	lab.c lookup.c lval.c stklval.c \
37	main.c nl.c proc.c put.c \
38	rec.c rval.c stkrval.c\
39	savenl.c \
40	stat.c string.c subr.c \
41	tmps.c tree.c type.c var.c \
42	TRdata.c \
43	treen.c yycopy.c \
44	yycosts.c yyerror.c yyget.c yyid.c yylex.c yymain.c yyoptions.c \
45	yypanic.c yyparse.c yyprint.c yyput.c yyrecover.c yyseman.c yytree.c \
46	p2put.c stab.c pcproc.c pcfunc.c pccaseop.c pclval.c sconv.c
47
48HDRS =	0.h OPnames.h align.h iorec.h objfmt.h pstab.h pc.h \
49	send.h tree.h whoami.h yy.h config.h
50
51OTHERS = pas.y opc.c CONFIG.c gram pic.c
52
53OBJS =	ato.o \
54	call.o case.o clas.o const.o conv.o cset.o \
55	error.o fdec.o fend.o fhdr.o flvalue.o forop.o func.o gen.o hash.o \
56	lab.o lookup.o lval.o stklval.o \
57	main.o nl.o proc.o put.o \
58	rec.o rval.o stkrval.o\
59	savenl.o \
60	stat.o string.o subr.o \
61	tmps.o tree.o type.o var.o \
62	TRdata.o \
63	treen.o yycopy.o \
64	yycosts.o yyerror.o yyget.o yyid.o yylex.o yymain.o yyoptions.o \
65	yypanic.o yyparse.o yyprint.o yyput.o yyrecover.o yyseman.o yytree.o \
66	p2put.o stab.o pcproc.o pcfunc.o pccaseop.o pclval.o sconv.o
67
68a.out: ${OBJS} y.tab.o config.c
69	${CC} ${CFLAGS} ${LDFLAGS} ${OBJS} y.tab.o config.c
70
71${OBJS}:
72	${RM} `basename $@ .o`.c
73	cd ${SRCDIR}; \
74	    ${MKSTR} - ${BINDIR}/${ERRORSTRINGS} ${BINDIR}/ `basename $@ .o`.c
75	${CC} ${CFLAGS} -I. -I${SRCDIR} -c `basename $@ .o`.c
76	${RM} `basename $@ .o`.c
77
78lint:
79	cd ${SRCDIR}; lint -I. -I${BINDIR} ${SRCS} ${BINDIR}/*.c
80
81y.tab.h: ${SRCDIR}/pas.y ${SRCDIR}/gram
82	${RM} y.tab.h y.tab.c
83	${EYACC} ${SRCDIR}/pas.y > /dev/null
84	ex - y.tab.c <${SRCDIR}/gram
85	@echo that makes y.tab.h and y.tab.c
86y.tab.o: y.tab.c y.tab.h
87	${RM} x.y.tab.c
88	${MKSTR} - ${ERRORSTRINGS} x. y.tab.c
89	${CC} ${CFLAGS} -I${SRCDIR} -I. -c x.y.tab.c
90	mv x.y.tab.o y.tab.o
91	${RM} x.y.tab.c
92
93picture: ${SRCDIR}/OPnames.h ${SRCDIR}/pic.c
94	${RM} picture
95	cc ${SRCDIR}/pic.c -o pic
96	pic >picture
97	${RM} pic
98
99opcode.h: ${SRCDIR}/OPnames.h ${SRCDIR}/opc.c
100	${RM} opcode.h
101	cc ${SRCDIR}/opc.c -o opc
102	opc >opcode.h
103	${RM} opc
104
105${SRCDIR}/0.h:
106	${TOUCH} ${SRCDIR}/0.h
107
108config.c: ${SRCDIR}/CONFIG.c makefile
109	sed -e "s?VERSION?${VERSION}?g" \
110	    -e "s?DATE?${DATE}?g" \
111	    -e "s?INSTALLDIR?${INSTALLDIR}?g" \
112	    -e "s?LIBDIR?${LIBDIR}?g" \
113	    -e "s?ERRORSTRINGS?${ERRORSTRINGS}?g" \
114	    -e "s?HOWFILE?${HOWFILE}?g" \
115	    < ${SRCDIR}/CONFIG.c >config.c
116
117clean:
118	${RM} *.o *.c
119	${RM} y.tab.h y.tab.c y.tab.out
120	${RM} ${WHOAMI}*strings
121	${RM} config.c opcode.h picture
122	${RM} a.out core *.list *.bak errs
123	${RM} opc pic tags
124
125install: a.out
126	${RM} ${LIBDIR}/${OLDSTRINGS}
127	install -c -m 664 ${ERRORSTRINGS} ${LIBDIR}/${ERRORSTRINGS}
128	install -s -m 775 a.out ${INSTALLNAME}
129
130depend:
131	ls ${SRCDIR}/*.c | sed \
132		-e 's;^${SRCDIR}/\([a-zA-Z0-9]*\)\.c;\1.o: &;' >makedep
133	/bin/grep '^#[ 	]*include' *.h ${SRCDIR}/*.h | sed \
134		-e '/<.*>/d' \
135		-e 's;\(.*\):[^"]*"\([^"]*\)".*;\1: \2;' >>makedep
136	/bin/grep '^#[ 	]*include' ${SRCDIR}/*.c | sed \
137		-e '/<.*>/d' \
138		-e 's;:[^"]*"\([^"]*\)".*;: ${SRCDIR}/\1;' \
139		-e 's;^${SRCDIR}/\([a-zA-Z0-9]*\)\.c;\1.o;' \
140		-e 's;: ${SRCDIR}/whoami.h;: whoami.h;' \
141		-e 's;: ${SRCDIR}/opcode.h;: opcode.h;' >>makedep
142	echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep
143	echo '$$r makedep' >>eddep
144	echo 'w' >>eddep
145	cp makefile makefile.bak
146	ed - makefile < eddep
147	rm eddep makedep
148	echo '# DEPENDENCIES MUST END AT END OF FILE' >> makefile
149	echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> makefile
150	echo '# see make depend above' >> makefile
151
152# DO NOT DELETE THIS LINE -- make depend uses it
153
154CONFIG.o: ../src/CONFIG.c
155TRdata.o: ../src/TRdata.c
156ato.o: ../src/ato.c
157call.o: ../src/call.c
158case.o: ../src/case.c
159clas.o: ../src/clas.c
160const.o: ../src/const.c
161conv.o: ../src/conv.c
162cset.o: ../src/cset.c
163error.o: ../src/error.c
164fdec.o: ../src/fdec.c
165fend.o: ../src/fend.c
166fhdr.o: ../src/fhdr.c
167flvalue.o: ../src/flvalue.c
168forop.o: ../src/forop.c
169func.o: ../src/func.c
170gen.o: ../src/gen.c
171hash.o: ../src/hash.c
172lab.o: ../src/lab.c
173lookup.o: ../src/lookup.c
174lval.o: ../src/lval.c
175main.o: ../src/main.c
176nl.o: ../src/nl.c
177opc.o: ../src/opc.c
178p2put.o: ../src/p2put.c
179pccaseop.o: ../src/pccaseop.c
180pcfunc.o: ../src/pcfunc.c
181pclval.o: ../src/pclval.c
182pcproc.o: ../src/pcproc.c
183pic.o: ../src/pic.c
184proc.o: ../src/proc.c
185put.o: ../src/put.c
186rec.o: ../src/rec.c
187rval.o: ../src/rval.c
188savenl.o: ../src/savenl.c
189sconv.o: ../src/sconv.c
190stab.o: ../src/stab.c
191stat.o: ../src/stat.c
192stklval.o: ../src/stklval.c
193stkrval.o: ../src/stkrval.c
194string.o: ../src/string.c
195subr.o: ../src/subr.c
196tmps.o: ../src/tmps.c
197tree.o: ../src/tree.c
198treen.o: ../src/treen.c
199type.o: ../src/type.c
200var.o: ../src/var.c
201yycopy.o: ../src/yycopy.c
202yycosts.o: ../src/yycosts.c
203yyerror.o: ../src/yyerror.c
204yyget.o: ../src/yyget.c
205yyid.o: ../src/yyid.c
206yylex.o: ../src/yylex.c
207yymain.o: ../src/yymain.c
208yyoptions.o: ../src/yyoptions.c
209yypanic.o: ../src/yypanic.c
210yyparse.o: ../src/yyparse.c
211yyprint.o: ../src/yyprint.c
212yyput.o: ../src/yyput.c
213yyrecover.o: ../src/yyrecover.c
214yyseman.o: ../src/yyseman.c
215yytree.o: ../src/yytree.c
216yy.h: y.tab.h
217../src/yy.h: y.tab.h
218TRdata.o: whoami.h
219TRdata.o: ../src/0.h
220ato.o: whoami.h
221ato.o: ../src/0.h
222call.o: whoami.h
223call.o: ../src/0.h
224call.o: ../src/tree.h
225call.o: opcode.h
226call.o: ../src/objfmt.h
227call.o: ../src/pc.h
228call.o: ../src/tmps.h
229call.o: ../src/tree_ty.h
230case.o: whoami.h
231case.o: ../src/0.h
232case.o: ../src/tree.h
233case.o: opcode.h
234case.o: ../src/tree_ty.h
235clas.o: whoami.h
236clas.o: ../src/0.h
237clas.o: ../src/tree.h
238clas.o: ../src/tree_ty.h
239const.o: whoami.h
240const.o: ../src/0.h
241const.o: ../src/tree.h
242const.o: ../src/tree_ty.h
243conv.o: whoami.h
244conv.o: ../src/0.h
245conv.o: opcode.h
246conv.o: ../src/tree_ty.h
247cset.o: whoami.h
248cset.o: ../src/0.h
249cset.o: ../src/tree.h
250cset.o: opcode.h
251cset.o: ../src/objfmt.h
252cset.o: ../src/tree_ty.h
253cset.o: ../src/pc.h
254cset.o: ../src/align.h
255error.o: whoami.h
256error.o: ../src/0.h
257error.o: ../src/tree_ty.h
258error.o: ../src/yy.h
259fdec.o: whoami.h
260fdec.o: ../src/0.h
261fdec.o: ../src/tree.h
262fdec.o: opcode.h
263fdec.o: ../src/objfmt.h
264fdec.o: ../src/align.h
265fdec.o: ../src/tmps.h
266fdec.o: ../src/pc.h
267fend.o: whoami.h
268fend.o: ../src/0.h
269fend.o: ../src/tree.h
270fend.o: opcode.h
271fend.o: ../src/objfmt.h
272fend.o: ../src/align.h
273fend.o: ../src/tmps.h
274fend.o: ../src/pc.h
275fend.o: ../src/tree_ty.h
276fhdr.o: whoami.h
277fhdr.o: ../src/0.h
278fhdr.o: ../src/tree.h
279fhdr.o: opcode.h
280fhdr.o: ../src/objfmt.h
281fhdr.o: ../src/align.h
282fhdr.o: ../src/tree_ty.h
283fhdr.o: ../src/pc.h
284flvalue.o: whoami.h
285flvalue.o: ../src/0.h
286flvalue.o: ../src/tree.h
287flvalue.o: opcode.h
288flvalue.o: ../src/objfmt.h
289flvalue.o: ../src/tree_ty.h
290flvalue.o: ../src/pc.h
291flvalue.o: ../src/tmps.h
292forop.o: whoami.h
293forop.o: ../src/0.h
294forop.o: opcode.h
295forop.o: ../src/tree.h
296forop.o: ../src/objfmt.h
297forop.o: ../src/pc.h
298forop.o: ../src/tmps.h
299forop.o: ../src/tree_ty.h
300func.o: whoami.h
301func.o: ../src/0.h
302func.o: ../src/tree.h
303func.o: opcode.h
304func.o: ../src/tree_ty.h
305gen.o: whoami.h
306gen.o: ../src/0.h
307gen.o: ../src/tree.h
308gen.o: opcode.h
309gen.o: ../src/objfmt.h
310hash.o: whoami.h
311hash.o: ../src/0.h
312hash.o: ../src/tree_ty.h
313hash.o: ../src/yy.h
314lab.o: whoami.h
315lab.o: ../src/0.h
316lab.o: ../src/tree.h
317lab.o: opcode.h
318lab.o: ../src/objfmt.h
319lab.o: ../src/pc.h
320lab.o: ../src/tree_ty.h
321lookup.o: whoami.h
322lookup.o: ../src/0.h
323lval.o: whoami.h
324lval.o: ../src/0.h
325lval.o: ../src/tree.h
326lval.o: opcode.h
327lval.o: ../src/objfmt.h
328lval.o: ../src/tree_ty.h
329lval.o: ../src/pc.h
330main.o: whoami.h
331main.o: ../src/0.h
332main.o: ../src/tree_ty.h
333main.o: ../src/yy.h
334main.o: ../src/objfmt.h
335main.o: ../src/config.h
336nl.o: whoami.h
337nl.o: ../src/0.h
338nl.o: opcode.h
339nl.o: ../src/objfmt.h
340opc.o: ../src/OPnames.h
341p2put.o: whoami.h
342p2put.o: ../src/0.h
343p2put.o: ../src/objfmt.h
344p2put.o: ../src/pc.h
345p2put.o: ../src/align.h
346p2put.o: ../src/tmps.h
347pccaseop.o: whoami.h
348pccaseop.o: ../src/0.h
349pccaseop.o: ../src/tree.h
350pccaseop.o: ../src/objfmt.h
351pccaseop.o: ../src/pc.h
352pccaseop.o: ../src/tmps.h
353pccaseop.o: ../src/tree_ty.h
354pcfunc.o: whoami.h
355pcfunc.o: ../src/0.h
356pcfunc.o: ../src/tree.h
357pcfunc.o: ../src/objfmt.h
358pcfunc.o: opcode.h
359pcfunc.o: ../src/pc.h
360pcfunc.o: ../src/tmps.h
361pcfunc.o: ../src/tree_ty.h
362pclval.o: whoami.h
363pclval.o: ../src/0.h
364pclval.o: ../src/tree.h
365pclval.o: opcode.h
366pclval.o: ../src/objfmt.h
367pclval.o: ../src/tree_ty.h
368pclval.o: ../src/pc.h
369pcproc.o: whoami.h
370pcproc.o: ../src/0.h
371pcproc.o: ../src/tree.h
372pcproc.o: ../src/objfmt.h
373pcproc.o: opcode.h
374pcproc.o: ../src/pc.h
375pcproc.o: ../src/tmps.h
376pcproc.o: ../src/tree_ty.h
377pic.o: ../src/OPnames.h
378proc.o: whoami.h
379proc.o: ../src/0.h
380proc.o: ../src/tree.h
381proc.o: opcode.h
382proc.o: ../src/objfmt.h
383proc.o: ../src/tmps.h
384proc.o: ../src/tree_ty.h
385put.o: whoami.h
386put.o: opcode.h
387put.o: ../src/0.h
388put.o: ../src/objfmt.h
389put.o: ../src/pc.h
390put.o: ../src/align.h
391put.o: ../src/OPnames.h
392rec.o: whoami.h
393rec.o: ../src/0.h
394rec.o: ../src/tree.h
395rec.o: opcode.h
396rec.o: ../src/align.h
397rec.o: ../src/tree_ty.h
398rval.o: whoami.h
399rval.o: ../src/0.h
400rval.o: ../src/tree.h
401rval.o: opcode.h
402rval.o: ../src/objfmt.h
403rval.o: ../src/pc.h
404rval.o: ../src/tmps.h
405rval.o: ../src/tree_ty.h
406savenl.o: whoami.h
407savenl.o: ../src/0.h
408savenl.o: ../src/objfmt.h
409savenl.o: ../src/../pdx/defs.h
410savenl.o: ../src/../pdx/object.h
411savenl.o: ../src/../pdx/object/objsym.rep
412savenl.o: ../src/../pdx/mappings.h
413savenl.o: ../src/../pdx/mappings/filetab.h
414sconv.o: whoami.h
415sconv.o: ../src/0.h
416stab.o: whoami.h
417stab.o: ../src/0.h
418stab.o: ../src/objfmt.h
419stab.o: ../src/yy.h
420stab.o: ../src/pstab.h
421stab.o: ../src/pc.h
422stat.o: whoami.h
423stat.o: ../src/0.h
424stat.o: ../src/tree.h
425stat.o: ../src/objfmt.h
426stat.o: ../src/pc.h
427stat.o: ../src/tmps.h
428stat.o: opcode.h
429stat.o: ../src/tree_ty.h
430stklval.o: whoami.h
431stklval.o: ../src/0.h
432stklval.o: ../src/tree.h
433stklval.o: opcode.h
434stklval.o: ../src/objfmt.h
435stklval.o: ../src/tree_ty.h
436stkrval.o: whoami.h
437stkrval.o: ../src/0.h
438stkrval.o: ../src/tree.h
439stkrval.o: opcode.h
440stkrval.o: ../src/objfmt.h
441stkrval.o: ../src/tree_ty.h
442string.o: whoami.h
443string.o: ../src/0.h
444string.o: ../src/send.h
445subr.o: whoami.h
446subr.o: ../src/0.h
447tmps.o: whoami.h
448tmps.o: ../src/0.h
449tmps.o: ../src/objfmt.h
450tmps.o: ../src/pc.h
451tmps.o: ../src/align.h
452tmps.o: ../src/tmps.h
453tree.o: whoami.h
454tree.o: ../src/0.h
455treen.o: ../src/0.h
456treen.o: ../src/tree_ty.h
457type.o: whoami.h
458type.o: ../src/0.h
459type.o: ../src/tree.h
460type.o: ../src/objfmt.h
461type.o: ../src/tree_ty.h
462var.o: whoami.h
463var.o: ../src/0.h
464var.o: ../src/objfmt.h
465var.o: ../src/align.h
466var.o: ../src/iorec.h
467var.o: ../src/pc.h
468var.o: ../src/tmps.h
469var.o: ../src/tree_ty.h
470yycopy.o: whoami.h
471yycopy.o: ../src/0.h
472yycopy.o: ../src/tree_ty.h
473yycopy.o: ../src/yy.h
474yycosts.o: whoami.h
475yycosts.o: ../src/0.h
476yycosts.o: ../src/tree_ty.h
477yycosts.o: ../src/yy.h
478yyerror.o: whoami.h
479yyerror.o: ../src/0.h
480yyerror.o: ../src/tree_ty.h
481yyerror.o: ../src/yy.h
482yyget.o: whoami.h
483yyget.o: ../src/0.h
484yyget.o: ../src/tree_ty.h
485yyget.o: ../src/yy.h
486yyid.o: whoami.h
487yyid.o: ../src/0.h
488yyid.o: ../src/tree_ty.h
489yyid.o: ../src/yy.h
490yylex.o: whoami.h
491yylex.o: ../src/0.h
492yylex.o: ../src/tree_ty.h
493yylex.o: ../src/yy.h
494yymain.o: whoami.h
495yymain.o: ../src/0.h
496yymain.o: ../src/tree_ty.h
497yymain.o: ../src/yy.h
498yymain.o: ../src/objfmt.h
499yymain.o: ../src/config.h
500yyoptions.o: whoami.h
501yyoptions.o: ../src/0.h
502yyoptions.o: ../src/tree_ty.h
503yyoptions.o: ../src/yy.h
504yypanic.o: whoami.h
505yypanic.o: ../src/0.h
506yypanic.o: ../src/tree_ty.h
507yypanic.o: ../src/yy.h
508yyparse.o: whoami.h
509yyparse.o: ../src/0.h
510yyparse.o: ../src/tree_ty.h
511yyparse.o: ../src/yy.h
512yyprint.o: whoami.h
513yyprint.o: ../src/0.h
514yyprint.o: ../src/tree_ty.h
515yyprint.o: ../src/yy.h
516yyput.o: whoami.h
517yyput.o: ../src/0.h
518yyput.o: ../src/tree.h
519yyput.o: ../src/tree_ty.h
520yyput.o: ../src/yy.h
521yyrecover.o: whoami.h
522yyrecover.o: ../src/0.h
523yyrecover.o: ../src/tree_ty.h
524yyrecover.o: ../src/yy.h
525yyseman.o: whoami.h
526yyseman.o: ../src/0.h
527yyseman.o: ../src/tree_ty.h
528yyseman.o: ../src/yy.h
529yytree.o: whoami.h
530yytree.o: ../src/0.h
531yytree.o: ../src/tree.h
532yytree.o: ../src/tree_ty.h
533# DEPENDENCIES MUST END AT END OF FILE
534# IF YOU PUT STUFF HERE IT WILL GO AWAY
535# see make depend above
536