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