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