|
|
1.1 ! root 1: # ! 2: # Makefile 1.13 86/03/11 ! 3: # ! 4: # Makefile for PCC ! 5: # ! 6: # These symbols are used to configure the compiler: ! 7: # ASSTRINGS assembler handles string initializations ! 8: # STABDOT assembler understands .stabd ! 9: # LCOMM assembler supports .lcomm ! 10: # FIXSTRUCT no trickery (just output structure) ! 11: # ! 12: # Some symbols are specific to certain compilers: ! 13: # ONEPASS compile pass 1 and pass 2 together ! 14: # SPRECC do single precision in single not double ! 15: # FORT get f77-style pass 2 ! 16: # ! 17: CONFIG= -DASSTRINGS -DSTABDOT -DLCOMM "-DFIXSTRUCT=outstruct" ! 18: O = -O ! 19: CFLAGS = $(O) -I. -I$(M) $(CONFIG) ! 20: ! 21: COPTS = -DONEPASS $(CFLAGS) ! 22: SCOPTS = -DONEPASS -DSPRECC $(CFLAGS) ! 23: FOPTS = -DFORT $(CFLAGS) ! 24: LDFLAGS = ! 25: ! 26: RM= /bin/rm -f ! 27: LN= /bin/ln -s ! 28: ! 29: SFILES= strees.c slocal.c slocal2.c sallo.c sorder.c stable.c ! 30: SOBJS= strees.o slocal.o slocal2.o sallo.o sorder.o stable.o ! 31: FFILES= freader.c fallo.c fmatch.c ftable.c forder.c flocal2.c fcomm2.c ! 32: FOBJS= freader.o fallo.o fmatch.o ftable.o forder.o flocal2.o fcomm2.o ! 33: ! 34: P1INCS= $M/pass1.h macdefs.h $M/manifest.h pcclocal.h $M/config.h $M/ndu.h \ ! 35: /usr/include/stdio.h ! 36: P1ONEP= $(P1INCS) $M/onepass.h ! 37: P2INCS= $M/pass2.h macdefs.h mac2defs.h $M/manifest.h pcclocal.h $M/config.h \ ! 38: $M/ndu.h /usr/include/stdio.h ! 39: P2ONEP= $(P2INCS) $M/onepass.h ! 40: ! 41: M=../mip ! 42: TESTDIR = . ! 43: ! 44: all: ccom sccom f1 ! 45: ! 46: # ! 47: # 'ccom' is a one-pass C compiler. ! 48: # ! 49: ccom: rodata.o cgram.o xdefs.o scan.o pftn.o trees.o optim.o code.o local.o \ ! 50: reader.o local2.o order.o match.o allo.o comm1.o table.o stab.o ! 51: $(CC) $(LDFLAGS) rodata.o cgram.o xdefs.o scan.o pftn.o trees.o \ ! 52: optim.o code.o local.o reader.o local2.o order.o match.o \ ! 53: allo.o comm1.o table.o stab.o -o $(TESTDIR)/ccom ! 54: trees.o: $(P1ONEP) $M/trees.c ! 55: $(CC) -c $(COPTS) $M/trees.c ! 56: optim.o: $(P1ONEP) $M/optim.c ! 57: $(CC) -c $(COPTS) $M/optim.c ! 58: pftn.o: $(P1ONEP) $M/pftn.c ! 59: $(CC) -c $(COPTS) $M/pftn.c ! 60: code.o: $(P1ONEP) code.c ! 61: $(CC) -c $(COPTS) code.c ! 62: local.o: $(P1ONEP) local.c ! 63: $(CC) -c $(COPTS) local.c ! 64: scan.o: $(P1ONEP) $M/scan.c ! 65: $(CC) -c $(COPTS) $M/scan.c ! 66: xdefs.o: $(P1ONEP) $M/xdefs.c ! 67: $(CC) -c $(COPTS) $M/xdefs.c ! 68: cgram.o: $(P1ONEP) cgram.c ! 69: $(CC) -c $(COPTS) cgram.c ! 70: rodata.o: rodata.c ! 71: $(CC) -c $(COPTS) -R rodata.c ! 72: rodata.c cgram.c: $M/cgram.y pcctokens ! 73: cat pcctokens $M/cgram.y > gram.in ! 74: $(YACC) gram.in ! 75: $(RM) rodata.c ! 76: sh ./:yyfix yyexca yyact yypact yypgo yyr1 yyr2 yychk yydef ! 77: mv y.tab.c cgram.c ! 78: comm1.o: $(P1ONEP) $M/common.c ! 79: $(LN) $M/common.c comm1.c ! 80: $(CC) -c $(COPTS) -DPASS1COMMON comm1.c ! 81: $(RM) comm1.c ! 82: stab.o: $(P1ONEP) stab.c \ ! 83: /usr/include/stab.h /usr/include/a.out.h /usr/include/sys/types.h ! 84: $(CC) -c $(COPTS) stab.c ! 85: table.o: $(P2ONEP) table.c ! 86: $(CC) -c $(COPTS) -R table.c ! 87: reader.o: $(P2ONEP) $M/reader.c ! 88: $(CC) -c $(COPTS) $M/reader.c ! 89: local2.o: $(P2ONEP) local2.c ! 90: $(CC) -c $(COPTS) local2.c ! 91: order.o: $(P2ONEP) order.c ! 92: $(CC) -c $(COPTS) order.c ! 93: match.o: $(P2ONEP) $M/match.c ! 94: $(CC) -c $(COPTS) $M/match.c ! 95: allo.o: $(P2ONEP) $M/allo.c ! 96: $(CC) -c $(COPTS) $M/allo.c ! 97: ! 98: # ! 99: # 'sccom' is a C compiler that does single precision computations in ! 100: # single precision rather than double precision. ! 101: # ! 102: sccom: rodata.o cgram.o xdefs.o scan.o pftn.o strees.o optim.o code.o slocal.o \ ! 103: reader.o slocal2.o sorder.o match.o sallo.o comm1.o stable.o stab.o ! 104: $(CC) $(LDFLAGS) rodata.o cgram.o xdefs.o scan.o pftn.o strees.o \ ! 105: optim.o code.o slocal.o reader.o slocal2.o sorder.o match.o \ ! 106: sallo.o comm1.o stable.o stab.o -o $(TESTDIR)/sccom ! 107: strees.o: $(P1ONEP) $M/trees.c ! 108: $(LN) $M/trees.c strees.c ! 109: $(CC) -c $(SCOPTS) strees.c ! 110: $(RM) strees.c ! 111: slocal.o: $(P1ONEP) local.c ! 112: $(LN) local.c slocal.c ! 113: $(CC) -c $(SCOPTS) slocal.c ! 114: $(RM) slocal.c ! 115: slocal2.o: $(P2ONEP) local2.c ! 116: $(LN) local2.c slocal2.c ! 117: $(CC) -c $(SCOPTS) slocal2.c ! 118: $(RM) slocal2.c ! 119: sallo.o: $(P2ONEP) $M/allo.c ! 120: $(LN) $M/allo.c sallo.c ! 121: $(CC) -c $(SCOPTS) sallo.c ! 122: $(RM) sallo.c ! 123: sorder.o: $(P2ONEP) order.c ! 124: $(LN) order.c sorder.c ! 125: $(CC) -c $(SCOPTS) sorder.c ! 126: $(RM) sorder.c ! 127: stable.o: $(P2ONEP) table.c ! 128: $(LN) table.c stable.c ! 129: $(CC) -c $(SCOPTS) -R stable.c ! 130: $(RM) stable.c ! 131: ! 132: # ! 133: # 'f1' is the f77 and pc code generator. ! 134: # ! 135: f1: fort.o freader.o fallo.o fmatch.o ftable.o forder.o flocal2.o \ ! 136: fcomm2.o ! 137: $(CC) $(LDFLAGS) fort.o freader.o fallo.o fmatch.o ftable.o \ ! 138: forder.o flocal2.o fcomm2.o -o $(TESTDIR)/f1 ! 139: fort.o: $(P2INCS) fort.h $M/fort.c ! 140: $(CC) -c $(FOPTS) $M/fort.c ! 141: freader.o: $(P2INCS) $M/reader.c ! 142: $(LN) $M/reader.c freader.c ! 143: $(CC) -c $(FOPTS) freader.c ! 144: $(RM) freader.c ! 145: fallo.o: $(P2INCS) $M/allo.c ! 146: $(LN) $M/allo.c fallo.c ! 147: $(CC) -c $(FOPTS) fallo.c ! 148: $(RM) fallo.c ! 149: fmatch.o: $(P2INCS) $M/match.c ! 150: $(LN) $M/match.c fmatch.c ! 151: $(CC) -c $(FOPTS) fmatch.c ! 152: $(RM) fmatch.c ! 153: ftable.o: $(P2INCS) table.c ! 154: $(LN) table.c ftable.c ! 155: $(CC) -c -R $(FOPTS) ftable.c ! 156: $(RM) ftable.c ! 157: forder.o: $(P2INCS) order.c ! 158: $(LN) order.c forder.c ! 159: $(CC) -c $(FOPTS) forder.c ! 160: $(RM) forder.c ! 161: flocal2.o: $(P2INCS) local2.c ! 162: $(LN) local2.c flocal2.c ! 163: $(CC) -c $(FOPTS) flocal2.c ! 164: $(RM) flocal2.c ! 165: fcomm2.o: $(P2INCS) $M/common.c ! 166: $(LN) $M/common.c fcomm2.c ! 167: $(CC) -c $(FOPTS) -DPASS2COMMON fcomm2.c ! 168: $(RM) fcomm2.c ! 169: ! 170: install: all ! 171: install -s ${TESTDIR}/ccom ${DESTDIR}/lib/ccom ! 172: install -s ${TESTDIR}/sccom ${DESTDIR}/lib/sccom ! 173: install -s ${TESTDIR}/f1 ${DESTDIR}/lib/f1 ! 174: ! 175: GREP= egrep ! 176: ! 177: pcclocal.h: localdefs.h /usr/include/pcc.h ! 178: $(RM) pcclocal.h ! 179: cat /usr/include/pcc.h localdefs.h | $(GREP) '^#[ ]*(define[ ][ ]*PCC(F|T|TM|OM)?_|ifdef|ifndef|endif)' | sed -e 's/PCC[A-Z]*_//' > pcclocal.h ! 180: ! 181: pcctokens: localdefs.h /usr/include/pcc.h ! 182: $(RM) pcctokens ! 183: cat /usr/include/pcc.h localdefs.h | $(GREP) '^#[ ]*define[ ][ ]*PCC_' | sed -e 's/^#[ ]*define[ ][ ]*PCC_/%term /' > pcctokens ! 184: ! 185: DUMMIES= $(SFILES) $(FFILES) ! 186: ! 187: shrink: ! 188: $(RM) *.o ccom sccom f1 $(DUMMIES) ! 189: clean: ! 190: $(RM) *.o ccom sccom f1 cgram.c rodata.c pcctokens pcclocal.h gram.in $(DUMMIES) ! 191: sfix: ! 192: $(RM) $(SFILES) ! 193: sclean: ! 194: $(RM) $(SOBJS) $(SFILES) ! 195: ffix: ! 196: $(RM) $(FFILES) ! 197: fclean: ! 198: $(RM) $(FOBJS) $(FFILES) ! 199: ! 200: lintall: ! 201: lint -hax -I. -I$M cgram.c $M/xdefs.c $M/scan.c $M/pftn.c \ ! 202: $M/trees.c $M/optim.c code.c local.c stab.c $M/reader.c \ ! 203: local2.c order.c $M/match.c $M/allo.c $M/comm1.c table.c
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.