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