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# @(#)Makefile 5.3 (Berkeley) 10/27/87 7# 8SCCSID = "@(#)Makefile 5.3 (Berkeley) 10/27/87" 9DESTDIR= 10ED= -ex 11AS= -as 12RM= rm -f 13EYACC= ../eyacc/eyacc 14CFLAGS= -O -I. -I${SRCDIR} -w -DRMOTHERS 15SRCDIR= ../src 16BINDIR= ../pxp 17# 18# Files which are specific to PXP 19# 20LOCOBJ= Version.o call.o case.o const.o cset.o error.o fdec.o func.o \ 21 lab.o lval.o main.o pmon.o pp.o proc.o rec.o rval.o stat.o \ 22 type.o var.o y.tab.o yycomm.o yyerror.o \ 23 yymain.o yyput.o rmothers.o 24# 25# Files which are shared with pi and pc0 26# 27SRCOBJ= TRdata.o hash.o nl.o string.o subr.o tree.o treen.o yycopy.o \ 28 yycosts.o yyget.o yyid.o yylex.o yypanic.o yyparse.o yyprint.o \ 29 yyrecover.o yyseman.o yytree.o 30SRCSRC= TRdata.c hash.c nl.c string.c subr.c tree.c treen.c yycopy.c \ 31 yycosts.c yyget.c yyid.c yylex.c yypanic.c yyparse.c yyprint.c \ 32 yyrecover.c yyseman.c yytree.c 33 34all: a.out 35 36a.out: ${LOCOBJ} ${SRCOBJ} 37 ${CC} ${CFLAGS} ${LOCOBJ} ${SRCOBJ} 38 39${SRCOBJ}: 40 -ln ${SRCDIR}/$*.c $*.c 41 ${CC} ${CFLAGS} -c $*.c 42 ${RM} $*.c 43 44y.tab.h y.tab.c: ${SRCDIR}/pas.y 45 ${EYACC} ${SRCDIR}/pas.y >/dev/null 46 ${ED} - y.tab.c < ${SRCDIR}/gram 47 48newversion: version 49 version > Version.c 50 51version: version.c Version.o 52 cc -o version version.c Version.o 53 54opcode.h: ${SRCDIR}/OPnames.h ${SRCDIR}/opc.c 55 ${RM} opcode.h 56 cc ${SRCDIR}/opc.c -o opc 57 ./opc >opcode.h 58 ${RM} opc 59 60clean: 61 -rm -f a.out core errs version *.bak 62 -rm -f *.o x* y.tab.c y.tab.h opcode.h 63 64install: a.out 65 install -s a.out ${DESTDIR}/usr/ucb/pxp 66# cp a.outNOID /usr/ucb/pxp34 67 68print: 69 @pr Makefile READ_ME 70 @ls -ls | pr 71 @size a.out *.o | pr 72# @cxref *.c | pr 73 @pr 0.h main.c ${SRCDIR}/pas.y 74 @pr yy.h yy*.c 75 @pr [a-ln-x]*.c 76# @pr putn.s treen.s yycopy.s 77 78depend: 79 ls *.c | sed 's;^\([a-zA-Z0-9.]*\)\.c;\1.o: &;' >makedep 80 cd ${SRCDIR}; ls ${SRCSRC} | sed \ 81 -e 's;^\([a-zA-Z0-9.]*\)\.c;\1.o: ${SRCDIR}/&;' \ 82 >>${BINDIR}/makedep 83 grep '^#[ ]*include' *.h ${SRCDIR}/*.h | sed \ 84 -e '/<.*>/d' \ 85 -e 's;\(.*\):[^"]*"\([^"]*\)".*;\1: \2;' >>makedep 86 cd ${SRCDIR}; grep '^#[ ]*include' ${SRCSRC} | sed \ 87 -e '/<.*>/d' \ 88 -e 's;:[^"]*"\([^"]*\)".*;: ${SRCDIR}/\1;' \ 89 -e 's;^\([a-zA-Z0-9.]*\)\.c;\1.o;' \ 90 -e 's;: ${SRCDIR}/0.h;: 0.h;' \ 91 -e 's;: ${SRCDIR}/whoami.h;: whoami.h;' \ 92 -e 's;: ${SRCDIR}/opcode.h;: opcode.h;' >>${BINDIR}/makedep 93 grep '^#[ ]*include' *.c | sed \ 94 -e '/<.*>/d' \ 95 -e 's;:[^"]*"\([^"]*\)".*;: ${SRCDIR}/\1;' \ 96 -e 's;^\([a-zA-Z0-9.]*\)\.c;\1.o;' \ 97 -e 's;: ${SRCDIR}/0.h;: 0.h;' \ 98 -e 's;: ${SRCDIR}/whoami.h;: whoami.h;' \ 99 -e 's;: ${SRCDIR}/opcode.h;: opcode.h;' >>makedep 100 echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep 101 echo '$$r makedep' >>eddep 102 echo 'w' >>eddep 103 cp Makefile Makefile.bak 104 ed - Makefile < eddep 105 rm eddep makedep 106 echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile 107 echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile 108 echo '# see make depend above' >> Makefile 109 110# DO NOT DELETE THIS LINE 111# DEPENDENCIES MUST END AT END OF FILE 112Version.o: Version.c 113call.o: call.c 114case.o: case.c 115const.o: const.c 116cset.o: cset.c 117error.o: error.c 118fdec.o: fdec.c 119func.o: func.c 120lab.o: lab.c 121lval.o: lval.c 122main.o: main.c 123pmon.o: pmon.c 124pp.o: pp.c 125proc.o: proc.c 126rec.o: rec.c 127rmothers.o: rmothers.c 128rval.o: rval.c 129stat.o: stat.c 130type.o: type.c 131var.o: var.c 132version.o: version.c 133yycomm.o: yycomm.c 134yyerror.o: yyerror.c 135yymain.o: yymain.c 136yyput.o: yyput.c 137TRdata.o: ../src/TRdata.c 138hash.o: ../src/hash.c 139nl.o: ../src/nl.c 140string.o: ../src/string.c 141subr.o: ../src/subr.c 142tree.o: ../src/tree.c 143treen.o: ../src/treen.c 144yycopy.o: ../src/yycopy.c 145yycosts.o: ../src/yycosts.c 146yyget.o: ../src/yyget.c 147yyid.o: ../src/yyid.c 148yylex.o: ../src/yylex.c 149yypanic.o: ../src/yypanic.c 150yyparse.o: ../src/yyparse.c 151yyprint.o: ../src/yyprint.c 152yyrecover.o: ../src/yyrecover.c 153yyseman.o: ../src/yyseman.c 154yytree.o: ../src/yytree.c 155../src/yy.h: y.tab.h 156TRdata.o: whoami.h 157TRdata.o: 0.h 158hash.o: whoami.h 159hash.o: 0.h 160hash.o: ../src/tree_ty.h 161hash.o: ../src/yy.h 162nl.o: whoami.h 163nl.o: 0.h 164nl.o: opcode.h 165nl.o: ../src/objfmt.h 166string.o: whoami.h 167string.o: ../src/align.h 168string.o: 0.h 169string.o: ../src/send.h 170subr.o: whoami.h 171subr.o: 0.h 172tree.o: whoami.h 173tree.o: 0.h 174treen.o: 0.h 175treen.o: ../src/tree_ty.h 176yycopy.o: whoami.h 177yycopy.o: 0.h 178yycopy.o: ../src/tree_ty.h 179yycopy.o: ../src/yy.h 180yycosts.o: whoami.h 181yycosts.o: 0.h 182yycosts.o: ../src/tree_ty.h 183yycosts.o: ../src/yy.h 184yyget.o: whoami.h 185yyget.o: 0.h 186yyget.o: ../src/tree_ty.h 187yyget.o: ../src/yy.h 188yyid.o: whoami.h 189yyid.o: 0.h 190yyid.o: ../src/tree_ty.h 191yyid.o: ../src/yy.h 192yylex.o: whoami.h 193yylex.o: 0.h 194yylex.o: ../src/tree_ty.h 195yylex.o: ../src/yy.h 196yypanic.o: whoami.h 197yypanic.o: 0.h 198yypanic.o: ../src/tree_ty.h 199yypanic.o: ../src/yy.h 200yyparse.o: whoami.h 201yyparse.o: 0.h 202yyparse.o: ../src/tree_ty.h 203yyparse.o: ../src/yy.h 204yyprint.o: whoami.h 205yyprint.o: 0.h 206yyprint.o: ../src/tree_ty.h 207yyprint.o: ../src/yy.h 208yyrecover.o: whoami.h 209yyrecover.o: 0.h 210yyrecover.o: ../src/tree_ty.h 211yyrecover.o: ../src/yy.h 212yyseman.o: whoami.h 213yyseman.o: 0.h 214yyseman.o: ../src/tree_ty.h 215yyseman.o: ../src/yy.h 216yytree.o: whoami.h 217yytree.o: 0.h 218yytree.o: ../src/tree.h 219yytree.o: ../src/tree_ty.h 220call.o: 0.h 221call.o: ../src/tree.h 222case.o: 0.h 223case.o: ../src/tree.h 224const.o: 0.h 225const.o: ../src/tree.h 226cset.o: 0.h 227cset.o: ../src/tree.h 228error.o: whoami.h 229error.o: 0.h 230error.o: ../src/yy.h 231fdec.o: 0.h 232fdec.o: ../src/tree.h 233func.o: 0.h 234func.o: ../src/tree.h 235lab.o: 0.h 236lval.o: 0.h 237lval.o: ../src/tree.h 238main.o: 0.h 239pmon.o: 0.h 240pp.o: 0.h 241proc.o: 0.h 242proc.o: ../src/tree.h 243rec.o: 0.h 244rmothers.o: 0.h 245rmothers.o: ../src/tree.h 246rval.o: 0.h 247rval.o: ../src/tree.h 248stat.o: 0.h 249stat.o: ../src/tree.h 250type.o: 0.h 251type.o: ../src/tree.h 252var.o: 0.h 253var.o: ../src/tree.h 254yycomm.o: whoami.h 255yycomm.o: 0.h 256yycomm.o: ../src/yy.h 257yyerror.o: whoami.h 258yyerror.o: 0.h 259yyerror.o: ../src/yy.h 260yymain.o: whoami.h 261yymain.o: 0.h 262yymain.o: ../src/yy.h 263yyput.o: whoami.h 264yyput.o: 0.h 265yyput.o: ../src/tree.h 266yyput.o: ../src/yy.h 267# DEPENDENCIES MUST END AT END OF FILE 268# IF YOU PUT STUFF HERE IT WILL GO AWAY 269# see make depend above 270