|
|
1.1 root 1: #
2: # Makefile 1.11 85/04/18
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: # FORT get f77-style pass 2
14: #
15: MAKEPARAM = AS=${AS} CC=${CC} LD=${LD} INCLDIR=${INCLDIR} LIBDIR=${LIBDIR} ULIBDIR=${ULIBDIR} DESTDIR=${DESTDIR}
16:
17: CC= cc
18: CONFIG= -DASSTRINGS -DSTABDOT -DLCOMM "-DFIXSTRUCT=outstruct"
19:
20: O = -O
21: CFLAGS = $(O) -I${DESTDIR}/usr/include -I. $(CONFIG)
22:
23: COPTS = -DONEPASS $(CFLAGS)
24: SCOPTS = -DONEPASS -DSPRECC $(CFLAGS)
25: FOPTS = -DFORT $(CFLAGS)
26: LDFLAGS =
27:
28: RM= /bin/rm -f
29:
30: SFILES= strees.c slocal.c slocal2.c sallo.c sorder.c stable.c
31: SOBJS= strees.o slocal.o slocal2.o sallo.o sorder.o stable.o
32: FFILES= freader.c fallo.c fmatch.c ftable.c forder.c flocal2.c fcomm2.c
33: FOBJS= freader.o fallo.o fmatch.o ftable.o forder.o flocal2.o fcomm2.o
34:
35: DEST= $(DESTDIR)/usr/lib/f1
36: PROGRAM= fort
37:
38: TESTDIR = .
39:
40: all: fort
41:
42: #
43: # 'fort' is the f77 and pc code generator.
44: #
45: fort: fort.o freader.o fallo.o fmatch.o ftable.o forder.o flocal2.o \
46: fcomm2.o
47: $(CC) $(LDFLAGS) fort.o freader.o fallo.o fmatch.o ftable.o \
48: forder.o flocal2.o fcomm2.o -o $(TESTDIR)/fort
49: fort.o: fort.h manifest.h pass2.h pcclocal.h mac2defs.h macdefs.h fort.c
50: $(CC) -c $(FOPTS) fort.c
51: freader.o: manifest.h pass2.h pcclocal.h mac2defs.h macdefs.h reader.c
52: ln reader.c freader.c
53: $(CC) -c $(FOPTS) freader.c
54: $(RM) freader.c
55: fallo.o: manifest.h pass2.h pcclocal.h mac2defs.h macdefs.h allo.c
56: ln allo.c fallo.c
57: $(CC) -c $(FOPTS) fallo.c
58: $(RM) fallo.c
59: fmatch.o: manifest.h pass2.h pcclocal.h mac2defs.h macdefs.h match.c
60: ln match.c fmatch.c
61: $(CC) -c $(FOPTS) fmatch.c
62: $(RM) fmatch.c
63: ftable.o: manifest.h pass2.h pcclocal.h mac2defs.h macdefs.h table.c
64: ln table.c ftable.c
65: $(CC) -c -R $(FOPTS) ftable.c
66: $(RM) ftable.c
67: forder.o: manifest.h pass2.h pcclocal.h mac2defs.h macdefs.h
68: ln order.c forder.c
69: $(CC) -c $(FOPTS) forder.c
70: $(RM) forder.c
71: flocal2.o: manifest.h pass2.h pcclocal.h mac2defs.h macdefs.h
72: ln local2.c flocal2.c
73: $(CC) -c $(FOPTS) flocal2.c
74: $(RM) flocal2.c
75: fcomm2.o: manifest.h pass2.h pcclocal.h common.c mac2defs.h macdefs.h
76: ln common.c fcomm2.c
77: $(CC) -c $(FOPTS) -DPASS2COMMON fcomm2.c
78: $(RM) fcomm2.c
79:
80: install: all
81: @echo Installing $(PROGRAM) in $(DEST)
82: @install -s $(PROGRAM) $(DEST)
83:
84: GREP= egrep
85:
86: pcclocal.h: localdefs.h ${DESTDIR}/usr/include/pcc.h
87: $(RM) pcclocal.h
88: cat ${DESTDIR}/usr/include/pcc.h localdefs.h | $(GREP) '^#[ ]*(define[ ][ ]*PCC(F|T|TM|OM)?_|ifdef|ifndef|endif)' | sed -e 's/PCC[A-Z]*_//' > pcclocal.h
89:
90: pcctokens: localdefs.h ${DESTDIR}/usr/include/pcc.h
91: $(RM) pcctokens
92: cat ${DESTDIR}/usr/include/pcc.h localdefs.h | $(GREP) '^#[ ]*define[ ][ ]*PCC_' | sed -e 's/^#[ ]*define[ ][ ]*PCC_/%term /' > pcctokens
93:
94: DUMMIES= $(SFILES) $(FFILES) pcclocal.h
95:
96: shrink:
97: $(RM) *.o fort $(DUMMIES)
98: clean:
99: @$(RM) *.o fort $(DUMMIES)
100: clobber: clean
101: $(RM) pcctokens pcclocal.h $(DUMMIES)
102: sfix:
103: $(RM) $(SFILES)
104: sclean:
105: $(RM) $(SOBJS) $(SFILES)
106: ffix:
107: $(RM) $(FFILES)
108: fclean:
109: $(RM) $(FOBJS) $(FFILES)
110:
111: lintall:
112: lint -hv -I. code.c local.c reader.c \
113: local2.c order.c match.c allo.c comm1.c table.c
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.