1SCCSID = "@(#)pimakefile 1.19 02/02/82" 2WHOAMI = pi 3INSTALLNAME = ${DESTDIR}/usr/ucb/pi 4VERSION = 2.0 5 6MKSTR = /usr/ucb/mkstr 7EYACC = /usr/ucb/eyacc 8RM = -rm -f 9GET = touch 10 11CFLAGS = -O -w 12LDFLAGS = -z 13 14LIBDIR = ${DESTDIR}/usr/lib 15TMPDIR = tmp 16 17ERRORSTRINGS = ${WHOAMI}${VERSION}strings 18 19SRCS = ato.c \ 20 call.c case.c clas.c const.c conv.c cset.c \ 21 error.c fdec.c fend.c fhdr.c flvalue.c forop.c func.c gen.c \ 22 hash.c lab.c lookup.c lval.c stklval.c \ 23 main.c nl.c proc.c put.c \ 24 rec.c rval.c stkrval.c\ 25 savenl.c \ 26 stat.c string.c subr.c \ 27 tmps.c tree.c type.c var.c \ 28 TRdata.c \ 29 treen.c yycopy.c \ 30 yycosts.c yyerror.c yyget.c yyid.c yylex.c yymain.c yyoptions.c \ 31 yypanic.c yyparse.c yyprint.c yyput.c yyrecover.c yyseman.c yytree.c \ 32 p2put.c stab.c pcproc.c pcfunc.c pccaseop.c pclval.c 33 34HDRS = 0.h OPnames.h align.h iorec.h objfmt.h pstab.h pc.h pcops.h \ 35 send.h tree.h whoami.h yy.h 36 37OTHERS = pas.y opc.c version.c gram pic.c 38 39OBJS = ato.o \ 40 call.o case.o clas.o const.o conv.o cset.o \ 41 error.o fdec.o fend.o fhdr.o flvalue.o forop.o func.o gen.o \ 42 hash.o lab.o lookup.o lval.o stklval.o \ 43 main.o nl.o proc.o put.o \ 44 rec.o rval.o stkrval.o\ 45 savenl.o \ 46 stat.o string.o subr.o \ 47 tmps.o tree.o type.o var.o \ 48 TRdata.o \ 49 treen.o yycopy.o \ 50 y.tab.o \ 51 yycosts.o yyerror.o yyget.o yyid.o yylex.o yymain.o yyoptions.o \ 52 yypanic.o yyparse.o yyprint.o yyput.o yyrecover.o yyseman.o yytree.o \ 53 p2put.o stab.o pcproc.o pcfunc.o pccaseop.o pclval.o 54 55a.out: ${OBJS} version 56 ${RM} Version.[oc] 57 ./version > Version.c 58 ${CC} ${CFLAGS} ${LDFLAGS} ${OBJS} Version.c 59 60sources: ${SRCS} ${HDRS} ${OTHERS} 61 62${SRCS} ${HDRS} ${OTHERS}: 63 ${GET} $@ 64 65.c.o: 66 ${RM} ${TMPDIR}/$*.c 67 ${MKSTR} - ${ERRORSTRINGS} ${TMPDIR}/ $*.c 68 cd ${TMPDIR} ; ${CC} ${CFLAGS} -I.. -I../../pdx -c $*.c ;\ 69 rm -f ../$*.o; mv $*.o ../$*.o 70 ${RM} ${TMPDIR}/$*.c 71 72y.tab.h: pas.y gram 73 ${RM} y.tab.c y.tab.h 74 ${EYACC} pas.y > /dev/null 75 ex - y.tab.c <gram 76 @echo that makes y.tab.h and y.tab.c 77 78opcode.h: OPnames.h opc.c 79 ${RM} opcode.h 80 cc opc.c -o opc 81 opc >opcode.h 82 ${RM} opc 83 84pTree.h: 85 echo "/* this is not pTree.h */" > pTree.h 86 87version: version.c 88 ${CC} version.c -o version 89 90clean: 91 ${RM} *.o ${TMPDIR}/*.c 92 ${RM} y.tab.h y.tab.c y.tab.out 93 ${RM} ${ERRORSTRINGS} 94 ${RM} version Version.c 95 ${RM} a.out core *.list *.bak 96 ${RM} opc pic tags 97 98print: sources 99 @pr makefile READ_ME 100 @ls -ls | pr 101 @cc -o pic pic.c 102 @pic | pr 103 @rm pic 104 @pr 0.h whoami.h main.c pas.y 105 @pr OPnames.h opcode.h tree.h 106 @pr pc.h 107 @pr [a-ln-x]*.c 108 @pr yy.h yy*.c 109 110install: a.out 111 cp ${ERRORSTRINGS} ${LIBDIR}/${ERRORSTRINGS} 112 cp a.out ${INSTALLNAME} 113 114depend: sources 115 /bin/grep '^#[ ]*include' *.h \ 116 | sed '/<.*>/d' \ 117 | sed 's/\(.*\):[^"]*"\([^"]*\)".*/\1: \2/' >makedep 118 /bin/grep '^#[ ]*include' *.c \ 119 | sed '/<.*>/d' \ 120 | sed 's/:[^"]*"\([^"]*\)".*/: \1/' \ 121 | sed 's/\.c/.o/' >>makedep 122 echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep 123 echo '$$r makedep' >>eddep 124 echo 'w' >>eddep 125 cp makefile makefile.bak 126 ed - makefile < eddep 127 rm eddep makedep 128 echo '# DEPENDENCIES MUST END AT END OF FILE' >> makefile 129 echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> makefile 130 echo '# see make depend above' >> makefile 131 132# DO NOT DELETE THIS LINE -- make depend uses it 133 1340.h: pTree.h 135yy.h: y.tab.h 136TRdata.o: whoami.h 137TRdata.o: 0.h 138ato.o: whoami.h 139ato.o: 0.h 140call.o: whoami.h 141call.o: 0.h 142call.o: tree.h 143call.o: opcode.h 144call.o: objfmt.h 145call.o: pc.h 146call.o: pcops.h 147case.o: whoami.h 148case.o: 0.h 149case.o: tree.h 150case.o: opcode.h 151clas.o: whoami.h 152clas.o: 0.h 153clas.o: tree.h 154const.o: whoami.h 155const.o: 0.h 156const.o: tree.h 157conv.o: whoami.h 158conv.o: 0.h 159conv.o: opcode.h 160conv.o: pcops.h 161cset.o: whoami.h 162cset.o: 0.h 163cset.o: tree.h 164cset.o: opcode.h 165cset.o: objfmt.h 166cset.o: pc.h 167cset.o: pcops.h 168error.o: whoami.h 169error.o: 0.h 170error.o: yy.h 171fdec.o: whoami.h 172fdec.o: 0.h 173fdec.o: tree.h 174fdec.o: opcode.h 175fdec.o: objfmt.h 176fdec.o: align.h 177fdec.o: pc.h 178fdec.o: pcops.h 179fend.o: whoami.h 180fend.o: 0.h 181fend.o: tree.h 182fend.o: opcode.h 183fend.o: objfmt.h 184fend.o: align.h 185fend.o: pc.h 186fend.o: pcops.h 187fhdr.o: whoami.h 188fhdr.o: 0.h 189fhdr.o: tree.h 190fhdr.o: opcode.h 191fhdr.o: objfmt.h 192fhdr.o: align.h 193fhdr.o: pc.h 194fhdr.o: pcops.h 195flvalue.o: whoami.h 196flvalue.o: 0.h 197flvalue.o: tree.h 198flvalue.o: opcode.h 199flvalue.o: objfmt.h 200flvalue.o: pc.h 201flvalue.o: pcops.h 202forop.o: whoami.h 203forop.o: 0.h 204forop.o: opcode.h 205forop.o: tree.h 206forop.o: objfmt.h 207forop.o: pc.h 208forop.o: pcops.h 209func.o: whoami.h 210func.o: 0.h 211func.o: tree.h 212func.o: opcode.h 213gen.o: whoami.h 214gen.o: 0.h 215gen.o: tree.h 216gen.o: opcode.h 217gen.o: objfmt.h 218hash.o: whoami.h 219hash.o: 0.h 220hash.o: yy.h 221lab.o: whoami.h 222lab.o: 0.h 223lab.o: tree.h 224lab.o: opcode.h 225lab.o: objfmt.h 226lab.o: pc.h 227lab.o: pcops.h 228lookup.o: whoami.h 229lookup.o: 0.h 230lval.o: whoami.h 231lval.o: 0.h 232lval.o: tree.h 233lval.o: opcode.h 234lval.o: objfmt.h 235lval.o: pc.h 236lval.o: pcops.h 237main.o: whoami.h 238main.o: 0.h 239main.o: yy.h 240main.o: objfmt.h 241nl.o: whoami.h 242nl.o: 0.h 243nl.o: opcode.h 244nl.o: objfmt.h 245opc.o: OPnames.h 246p2put.o: whoami.h 247p2put.o: 0.h 248p2put.o: pcops.h 249p2put.o: pc.h 250pccaseop.o: whoami.h 251pccaseop.o: 0.h 252pccaseop.o: tree.h 253pccaseop.o: objfmt.h 254pccaseop.o: pcops.h 255pccaseop.o: pc.h 256pcfunc.o: whoami.h 257pcfunc.o: 0.h 258pcfunc.o: tree.h 259pcfunc.o: opcode.h 260pcfunc.o: pc.h 261pcfunc.o: pcops.h 262pclval.o: whoami.h 263pclval.o: 0.h 264pclval.o: tree.h 265pclval.o: opcode.h 266pclval.o: objfmt.h 267pclval.o: pc.h 268pclval.o: pcops.h 269pcproc.o: whoami.h 270pcproc.o: 0.h 271pcproc.o: tree.h 272pcproc.o: opcode.h 273pcproc.o: pc.h 274pcproc.o: pcops.h 275pic.o: OPnames.h 276proc.o: whoami.h 277proc.o: 0.h 278proc.o: tree.h 279proc.o: opcode.h 280proc.o: objfmt.h 281put.o: whoami.h 282put.o: opcode.h 283put.o: 0.h 284put.o: objfmt.h 285put.o: pc.h 286put.o: OPnames.h 287rec.o: whoami.h 288rec.o: 0.h 289rec.o: tree.h 290rec.o: opcode.h 291rval.o: whoami.h 292rval.o: 0.h 293rval.o: tree.h 294rval.o: opcode.h 295rval.o: objfmt.h 296rval.o: pc.h 297rval.o: pcops.h 298stab.o: whoami.h 299stab.o: 0.h 300stab.o: pstab.h 301stab.o: pc.h 302stat.o: whoami.h 303stat.o: 0.h 304stat.o: tree.h 305stat.o: objfmt.h 306stat.o: pcops.h 307stat.o: pc.h 308stat.o: opcode.h 309stklval.o: whoami.h 310stklval.o: 0.h 311stklval.o: tree.h 312stklval.o: opcode.h 313stklval.o: objfmt.h 314stkrval.o: whoami.h 315stkrval.o: 0.h 316stkrval.o: tree.h 317stkrval.o: opcode.h 318stkrval.o: objfmt.h 319stkrval.o: pcops.h 320string.o: whoami.h 321string.o: 0.h 322string.o: send.h 323subr.o: whoami.h 324subr.o: 0.h 325tmps.o: whoami.h 326tmps.o: 0.h 327tree.o: whoami.h 328tree.o: 0.h 329type.o: whoami.h 330type.o: 0.h 331type.o: tree.h 332type.o: objfmt.h 333var.o: whoami.h 334var.o: 0.h 335var.o: align.h 336var.o: iorec.h 337var.o: pc.h 338var.o: pcops.h 339y.tab.o: whoami.h 340y.tab.o: 0.h 341y.tab.o: yy.h 342y.tab.o: tree.h 343yycopy.o: 0.h 344yycopy.o: yy.h 345yycosts.o: whoami.h 346yycosts.o: 0.h 347yycosts.o: yy.h 348yyerror.o: whoami.h 349yyerror.o: 0.h 350yyerror.o: yy.h 351yyget.o: whoami.h 352yyget.o: 0.h 353yyget.o: yy.h 354yyid.o: whoami.h 355yyid.o: 0.h 356yyid.o: yy.h 357yylex.o: whoami.h 358yylex.o: 0.h 359yylex.o: yy.h 360yymain.o: whoami.h 361yymain.o: 0.h 362yymain.o: yy.h 363yymain.o: objfmt.h 364yyoptions.o: whoami.h 365yyoptions.o: 0.h 366yyoptions.o: yy.h 367yypanic.o: whoami.h 368yypanic.o: 0.h 369yypanic.o: yy.h 370yyparse.o: whoami.h 371yyparse.o: 0.h 372yyparse.o: yy.h 373yyprint.o: whoami.h 374yyprint.o: 0.h 375yyprint.o: yy.h 376yyput.o: whoami.h 377yyput.o: 0.h 378yyput.o: tree.h 379yyput.o: yy.h 380yyrecover.o: whoami.h 381yyrecover.o: 0.h 382yyrecover.o: yy.h 383yyseman.o: whoami.h 384yyseman.o: 0.h 385yyseman.o: yy.h 386yytree.o: whoami.h 387yytree.o: 0.h 388yytree.o: tree.h 389# DEPENDENCIES MUST END AT END OF FILE 390# IF YOU PUT STUFF HERE IT WILL GO AWAY 391# see make depend above 392