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