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# 8SCCSID = "@(#)pimakefile 5.2 9/7/85" 9 10INSTALLDIR= ${DESTDIR}/usr/bin 11INSTALLNAME= ${INSTALLDIR}/pi 12LIBDIR= ${DESTDIR}/usr/lib 13BINDIR= ../pi 14SRCDIR= ../src 15VPATH= ../src 16WHOAMI= pi 17VERSION= 3.1 18DATE= 9/7/85 19EYACC= ../eyacc/eyacc 20CFLAGS= -O 21ERRORSTRINGS= ${WHOAMI}${VERSION}strings 22OLDSTRINGS= ${WHOAMI}[0-9]*.[0-9]*strings 23HOWFILE= how_${WHOAMI} 24 25SRCS= 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 33OBJS= 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 42all a.out: ${OBJS} y.tab.o config.c 43 ${CC} ${CFLAGS} ${OBJS} y.tab.o config.c 44 45${OBJS}: 46 rm -f `basename $@ .o`.c 47 cd ${SRCDIR}; \ 48 mkstr - ${BINDIR}/${ERRORSTRINGS} ${BINDIR}/ `basename $@ .o`.c 49 ${CC} ${CFLAGS} -I. -I${SRCDIR} -c `basename $@ .o`.c 50 rm -f `basename $@ .o`.c 51 52lint: 53 cd ${SRCDIR}; lint -I. -I${BINDIR} ${SRCS} ${BINDIR}/*.c 54 55y.tab.h y.tab.c: ${SRCDIR}/pas.y ${SRCDIR}/gram 56 rm -f y.tab.h y.tab.c 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 60 61y.tab.o: y.tab.c y.tab.h 62 rm -f x.y.tab.c 63 mkstr - ${ERRORSTRINGS} x. y.tab.c 64 ${CC} ${CFLAGS} -I${SRCDIR} -I. -c x.y.tab.c 65 mv x.y.tab.o y.tab.o 66 rm -f x.y.tab.c 67 68picture: ${SRCDIR}/OPnames.h ${SRCDIR}/pic.c 69 rm -f picture 70 cc ${SRCDIR}/pic.c -o pic 71 pic >picture 72 rm -f pic 73 74opcode.h: ${SRCDIR}/OPnames.h ${SRCDIR}/opc.c 75 rm -f opcode.h 76 cc ${SRCDIR}/opc.c -o opc 77 opc >opcode.h 78 rm -f opc 79 80${SRCDIR}/0.h: 81 touch -f ${SRCDIR}/0.h 82 83config.c: ${SRCDIR}/CONFIG.c 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 92cleandir 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 96 97install: a.out 98 rm -f ${LIBDIR}/${OLDSTRINGS} 99 install -c -m 664 ${ERRORSTRINGS} ${LIBDIR}/${ERRORSTRINGS} 100 install -s -m 775 a.out ${INSTALLNAME} 101 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. 104depend: clean ${SRCS} opcode.h y.tab.h 105 mkdep ${CFLAGS} -I. ${SRCS} 106