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