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