1# @(#)Makefile 1.5 (Berkeley) 06/29/90 2 3PROG= pi 4SRCDIR= ${.CURDIR}/../src 5CFLAGS= -I. -I${.CURDIR} -I${SRCDIR} 6.PATH: ${SRCDIR} 7NOMAN= noman 8 9EYACC= /usr/libexec/pascal/eyacc 10 11SRCS= ato.c call.c case.c clas.c const.c conv.c cset.c error.c fdec.c \ 12 fend.c fhdr.c flvalue.c forop.c func.c gen.c hash.c lab.c lookup.c \ 13 lval.c stklval.c main.c nl.c proc.c put.c rec.c rval.c stkrval.c \ 14 savenl.c stat.c string.c subr.c tmps.c tree.c type.c var.c TRdata.c \ 15 treen.c yycopy.c yycosts.c yyerror.c yyget.c yyid.c yylex.c yymain.c \ 16 yyoptions.c yypanic.c yyparse.c yyprint.c yyput.c yyrecover.c \ 17 yyseman.c yytree.c p2put.c stab.c pcproc.c pcfunc.c pccaseop.c \ 18 pclval.c sconv.c 19OBJS+= config.c y.tab.o 20CLEANFILES+=opc y.tab.h y.tab.c y.tab.out ${WHOAMI}*strings config.c \ 21 opcode.h picture opc pic *.list ${ERRORSTRINGS} config.o 22 23WHOAMI= pi 24.include "${SRCDIR}/config.include" 25 26.c.o: 27 rm -f ${.IMPSRC:T} 28 ln -s ${.IMPSRC} . 29 mkstr - ${ERRORSTRINGS} x ${.IMPSRC:T} 30 ${CC} ${CFLAGS} -c x${.IMPSRC:T} -o ${.TARGET} 31 rm -f x${.IMPSRC:T} ${.IMPSRC:T} 32 33y.tab.o: y.tab.c y.tab.h 34 rm -f x.y.tab.c 35 mkstr - ${ERRORSTRINGS} x. y.tab.c 36 ${CC} ${CFLAGS} -c x.y.tab.c 37 mv x.y.tab.o y.tab.o 38 rm -f x.y.tab.c 39 40y.tab.c: y.tab.h 41 42y.tab.h: ${SRCDIR}/pas.y ${SRCDIR}/gram 43 @echo make y.tab.h and y.tab.c 44 rm -f y.tab.h y.tab.c 45 ${EYACC} ${SRCDIR}/pas.y > /dev/null 46 ex - y.tab.c < ${SRCDIR}/gram 47 48picture: pic ${SRCDIR}/OPnames.h 49 ./pic > picture 50 51pic: pic.c 52 ${CC} ${.ALLSRC} -o ${.TARGET} 53 54opcode.h: opc ${SRCDIR}/OPnames.h ${SRCDIR}/opc.c 55 ./opc > ${.TARGET} 56 57opc: opc.c 58 ${CC} ${.ALLSRC} -o ${.TARGET} 59 60beforeinstall: 61 install -c -o ${BINOWN} -g ${BINGRP} -m 444 ${ERRORSTRINGS} \ 62 ${DESTDIR}${LIBDATA}/${ERRORSTRINGS} 63 64.include <bsd.prog.mk> 65 66${OBJS} .depend: opcode.h y.tab.h 67