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