Commit | Line | Data |
---|---|---|
f24cda81 KB |
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.2 (Berkeley) 9/7/85 | |
7 | # | |
8 | SCCSID = "@(#)pimakefile 5.2 9/7/85" | |
9 | ||
f536fd9c KB |
10 | INSTALLDIR= ${DESTDIR}/usr/bin |
11 | INSTALLNAME= ${INSTALLDIR}/pi | |
12 | LIBDIR= ${DESTDIR}/usr/lib | |
13 | BINDIR= ../pi | |
14 | SRCDIR= ../src | |
15 | VPATH= ../src | |
16 | WHOAMI= pi | |
17 | VERSION= 3.1 | |
18 | DATE= 9/7/85 | |
19 | EYACC= ../eyacc/eyacc | |
20 | CFLAGS= -O | |
21 | ERRORSTRINGS= ${WHOAMI}${VERSION}strings | |
22 | OLDSTRINGS= ${WHOAMI}[0-9]*.[0-9]*strings | |
23 | HOWFILE= how_${WHOAMI} | |
24 | ||
25 | SRCS= ato.c call.c case.c clas.c const.c conv.c cset.c error.c fdec.c \ | |
26 | fend.c fhdr.c flvalue.c forop.c func.c gen.c hash.c lab.c lookup.c \ | |
27 | lval.c stklval.c main.c nl.c proc.c put.c rec.c rval.c stkrval.c \ | |
28 | savenl.c stat.c string.c subr.c tmps.c tree.c type.c var.c TRdata.c \ | |
29 | treen.c yycopy.c yycosts.c yyerror.c yyget.c yyid.c yylex.c yymain.c \ | |
30 | yyoptions.c yypanic.c yyparse.c yyprint.c yyput.c yyrecover.c \ | |
31 | yyseman.c yytree.c p2put.c stab.c pcproc.c pcfunc.c pccaseop.c \ | |
32 | pclval.c sconv.c | |
33 | OBJS= ato.o call.o case.o clas.o const.o conv.o cset.o error.o fdec.o \ | |
34 | fend.o fhdr.o flvalue.o forop.o func.o gen.o hash.o lab.o lookup.o \ | |
35 | lval.o stklval.o main.o nl.o proc.o put.o rec.o rval.o stkrval.o \ | |
36 | savenl.o stat.o string.o subr.o tmps.o tree.o type.o var.o TRdata.o \ | |
37 | treen.o yycopy.o yycosts.o yyerror.o yyget.o yyid.o yylex.o yymain.o \ | |
38 | yyoptions.o yypanic.o yyparse.o yyprint.o yyput.o yyrecover.o \ | |
39 | yyseman.o yytree.o p2put.o stab.o pcproc.o pcfunc.o pccaseop.o \ | |
40 | pclval.o sconv.o | |
41 | ||
42 | all a.out: ${OBJS} y.tab.o config.c | |
43 | ${CC} ${CFLAGS} ${OBJS} y.tab.o config.c | |
f24cda81 KB |
44 | |
45 | ${OBJS}: | |
f536fd9c | 46 | rm -f `basename $@ .o`.c |
f24cda81 | 47 | cd ${SRCDIR}; \ |
f536fd9c | 48 | mkstr - ${BINDIR}/${ERRORSTRINGS} ${BINDIR}/ `basename $@ .o`.c |
f24cda81 | 49 | ${CC} ${CFLAGS} -I. -I${SRCDIR} -c `basename $@ .o`.c |
f536fd9c | 50 | rm -f `basename $@ .o`.c |
f24cda81 KB |
51 | |
52 | lint: | |
53 | cd ${SRCDIR}; lint -I. -I${BINDIR} ${SRCS} ${BINDIR}/*.c | |
54 | ||
17cd062a | 55 | y.tab.h y.tab.c: ${SRCDIR}/pas.y ${SRCDIR}/gram |
f536fd9c | 56 | rm -f y.tab.h y.tab.c |
f24cda81 KB |
57 | ${EYACC} ${SRCDIR}/pas.y > /dev/null |
58 | ex - y.tab.c <${SRCDIR}/gram | |
59 | @echo that makes y.tab.h and y.tab.c | |
f536fd9c | 60 | |
f24cda81 | 61 | y.tab.o: y.tab.c y.tab.h |
f536fd9c KB |
62 | rm -f x.y.tab.c |
63 | mkstr - ${ERRORSTRINGS} x. y.tab.c | |
f24cda81 KB |
64 | ${CC} ${CFLAGS} -I${SRCDIR} -I. -c x.y.tab.c |
65 | mv x.y.tab.o y.tab.o | |
f536fd9c | 66 | rm -f x.y.tab.c |
f24cda81 KB |
67 | |
68 | picture: ${SRCDIR}/OPnames.h ${SRCDIR}/pic.c | |
f536fd9c | 69 | rm -f picture |
f24cda81 KB |
70 | cc ${SRCDIR}/pic.c -o pic |
71 | pic >picture | |
f536fd9c | 72 | rm -f pic |
f24cda81 KB |
73 | |
74 | opcode.h: ${SRCDIR}/OPnames.h ${SRCDIR}/opc.c | |
f536fd9c | 75 | rm -f opcode.h |
f24cda81 KB |
76 | cc ${SRCDIR}/opc.c -o opc |
77 | opc >opcode.h | |
f536fd9c | 78 | rm -f opc |
f24cda81 KB |
79 | |
80 | ${SRCDIR}/0.h: | |
f536fd9c | 81 | touch -f ${SRCDIR}/0.h |
f24cda81 | 82 | |
a0a718c9 | 83 | config.c: ${SRCDIR}/CONFIG.c |
f24cda81 KB |
84 | sed -e "s?VERSION?${VERSION}?g" \ |
85 | -e "s?DATE?${DATE}?g" \ | |
86 | -e "s?INSTALLDIR?${INSTALLDIR}?g" \ | |
87 | -e "s?LIBDIR?${LIBDIR}?g" \ | |
88 | -e "s?ERRORSTRINGS?${ERRORSTRINGS}?g" \ | |
89 | -e "s?HOWFILE?${HOWFILE}?g" \ | |
90 | < ${SRCDIR}/CONFIG.c >config.c | |
91 | ||
f536fd9c KB |
92 | cleandir clean: |
93 | rm -f *.o *.c y.tab.h y.tab.c y.tab.out ${WHOAMI}*strings | |
94 | rm -f config.c opcode.h picture a.out core *.list *.bak errs | |
95 | rm -f opc pic tags | |
f24cda81 KB |
96 | |
97 | install: a.out | |
f536fd9c | 98 | rm -f ${LIBDIR}/${OLDSTRINGS} |
f24cda81 KB |
99 | install -c -m 664 ${ERRORSTRINGS} ${LIBDIR}/${ERRORSTRINGS} |
100 | install -s -m 775 a.out ${INSTALLNAME} | |
101 | ||
17cd062a KB |
102 | # Make depend must make clean first, since otherwise VPATH screws up |
103 | # which sources we 'make depend' from, if there are any .c's lying around. | |
104 | depend: clean ${SRCS} opcode.h y.tab.h | |
a0a718c9 | 105 | mkdep ${CFLAGS} -I. ${SRCS} |