|
|
1.1 root 1: ###############################################################################
2: # Instructions to Make, for compilation of ISODE PEPSY process
3: ###############################################################################
4:
5: ###############################################################################
6: #
7: # $Header: /f/osi/pepsy/RCS/Makefile,v 7.2 90/07/27 08:49:06 mrose Exp $
8: #
9: #
10: # $Log: Makefile,v $
11: # Revision 7.2 90/07/27 08:49:06 mrose
12: # update
13: #
14: # Revision 7.1 90/07/09 14:52:16 mrose
15: # sync
16: #
17: # Revision 7.0 90/07/01 19:54:10 mrose
18: # *** empty log message ***
19: #
20: ###############################################################################
21:
22: ###############################################################################
23: #
24: # NOTICE
25: #
26: # Acquisition, use, and distribution of this module and related
27: # materials are subject to the restrictions of a license agreement.
28: # Consult the Preface in the User's Manual for the full terms of
29: # this agreement.
30: #
31: ###############################################################################
32:
33: PEPYPATH= -DPEPYPATH=\".:$(PEPSYDIRM)\"
34:
35: LOPTIONS = -g
36:
37: .c.o:; $(CC) $(CFLAGS) -c $*.c
38:
39:
40: # to prevent a lot of unnecessary re-loading
41: PEPSYLIBES= $(TOPDIR)psap/sprintoid.o $(TOPDIR)psap/pl_tables.o \
42: $(TOPDIR)psap/oid_cmp.o $(TOPDIR)psap/oid_cpy.o \
43: $(TOPDIR)psap/oid_free.o \
44: $(TOPDIR)compat/asprintf.o $(TOPDIR)compat/serror.o \
45: $(TOPDIR)compat/sprintb.o
46: LIBES = $(TOPDIR)libpsap.a $(TOPDIR)libcompat.a
47: LLIBS = $(TOPDIR)llib-lpsap $(TOPDIR)llib-lcompat
48: HFILES = $(HDIR)psap.h \
49: $(HDIR)manifest.h $(HDIR)general.h $(HDIR)config.h
50:
51: DRFILES = enc.o dec.o fr.o prnt.o util.o
52: SUPFILES= vprint.o UNIV_tables.o pepsy_strings.o py_advise.o
53: LIBFILES= $(DRFILES) $(SUPFILES)
54:
55: CFILES = enc.c dec.c fr.c prnt.c main.c util.c \
56: vprint.c pepsy_strings.c py_advise.c
57:
58: HFILES = $(TOPDIR)h/pepsy.h test_table.h
59: HEADERS = UNIV.ph UNIV-types.h UNIV_defs.h UNIV_pre_defs.h
60:
61: OFILES = $(LIBFILES) main.o
62:
63:
64: ##################################################################
65: # Here it is...
66: ##################################################################
67:
68: all: pepsy libpepsy # peptest
69: inst-all: inst-pepsy inst-headers manuals # inst-libpepsy
70: install: inst-all clean
71: lint: l-pepsy l-libpepsy
72:
73:
74: ##################################################################
75: # pepsy
76: ##################################################################
77:
78: inst-pepsy: $(BINDIR)pepsy
79:
80: $(BINDIR)pepsy: xpepsy
81: -cp $@ zxpepsy
82: -rm -f $@
83: cp xpepsy $@
84: -@ls -gls $@
85: -@echo ""
86:
87: pepsy: xpepsy
88:
89: xpepsy: pepsyvrsn.o $(PEPSYLIBES)
90: $(LDCC) $(LDFLAGS) -o $@ pepsy.o pepsy-yacc.o pepsy_misc.o \
91: pass2.o etabs.o dtabs.o ptabs.o dfns.o mod.o \
92: pepsyvrsn.o $(PEPSYLIBES) $(LSOCKET) -lm
93:
94: pepsy.o: pepsy.c pepsydefs.h $(HFILES)
95:
96: pepsyvrsn.c: pepsy.o pepsy-yacc.o pepsy_misc.o pass2.o \
97: etabs.o dtabs.o ptabs.o dfns.o mod.o
98: $(UTILDIR)version.sh pepsy > $@
99:
100: pepsy-yacc.c: pepsy-yacc.y lex.c
101: -@echo "expect 20 shift/reduce and 9 reduce/reduce conflicts"
102: yacc $(YACCFLAGS) pepsy-yacc.y
103: mv y.tab.c $@
104:
105: pepsy-yacc.y: yacc.y.gnrc
106: $(UTILDIR)extract.sh PEPSY SCTRL < $? > $@
107:
108: pepsy_misc.o: pepsy_misc.c pepsydefs.h
109:
110: lex.c: lex.l
111: $(LEX) $(LEXFLAGS) lex.l
112: mv lex.yy.c $@
113:
114: lex.l: lex.l.gnrc
115: $(UTILDIR)extract.sh PEPSY < $? > $@
116:
117: pepsydefs.h: pepsydefs.h.gnrc
118: $(UTILDIR)extract.sh PEPSY < $? > $@
119:
120: l-pepsy: pepsy.c pepsy_misc.c pepsydefs.h pepsyvrsn.c true
121: $(LINT) $(LFLAGS) -DPEPSYPATH=\".:$(PEPSYDIRM)\" pepsy.c \
122: pepsy_misc.c pepsyvrsn.c $(LLIBS)
123:
124:
125: ################################################################
126: # libpepsy
127: ################################################################
128:
129: inst-libpepsy: $(LIBDIR)libpepsy.a inst-headers
130:
131: libpepsy: libpepsy.a true
132: -@rm -f $(TOPDIR)h/UNIV*.h
133: -@$(LN) UNIV-types.h $(TOPDIR)h/UNIV-types.h
134: -@$(LN) UNIV_defs.h $(TOPDIR)h/UNIV_defs.h
135: -@$(LN) UNIV_pre_defs.h $(TOPDIR)h/UNIV_pre_defs.h
136:
137: libpepsy.a: $(LIBFILES)
138: -rm -f $@
139: @$(UTILDIR)make-lib.sh $(SYSTEM) $(ARFLAGS) $@ $(LIBFILES)
140: -@rm -f $(TOPDIR)libpepsy.a
141: -@$(LN) libpepsy.a $(TOPDIR)libpepsy.a
142: -@ls -l $@
143: -@echo "PEPSY library built normally"
144:
145: inst-headers:; -mkdir $(PEPSYDIRM)
146: @for h in $(HEADERS); do $(MAKE) TARGET=$$h inst-target; done
147:
148: inst-target: $(PEPSYDIR)$(TARGET)
149:
150: $(PEPSYDIR)$(TARGET): $(TARGET)
151: -cp $@ z$(TARGET)
152: cp $(TARGET) $@
153: -@ls -gls $@
154: -@echo ""
155:
156: UNIV_tables.o: UNIV_tables.c UNIV-types.h
157:
158: UNIV-types.h UNIV_tables.c: UNIV.py xpepsy
159: ./xpepsy -A -f -h -m UNIV.py
160:
161: l-libpepsy: $(CFILES) true
162: $(LINT) -DPRNT=1 $(LFLAGS) $(CFILES) $(LLIBS)
163:
164: vprint.o: UNIV-types.h $(HDIR)psap.h $(HDIR)general.h $(HDIR)manifest.h \
165: $(HDIR)logger.h
166:
167:
168: ##################################################################
169: # pep
170: ##################################################################
171:
172: peptest: pep.results pep.output
173: -diff pep.output pep.results
174: touch peptest
175:
176: pep.results: pep
177: ./pep > pep.results
178:
179: PEPLIBS = ../libpsap.a ../libcompat.a
180: PEPFILES= T1_tables.o T2_tables.o $(OFILES) $(PEPLIBS) # malloctrace.a
181:
182: pep: $(PEPFILES)
183: $(CC) $(CFLAGS) -g -o pep $(PEPFILES) -lm
184:
185: pep-saber: $(PEPFILES)
186: #load $(CFLAGS) (PEPFILES)
187:
188: main.o: T1-types.h test_table.h main.c
189: $(CC) $(CFLAGS) -DPRNT=1 -g -c main.c
190:
191: T1_tables.o: T1_tables.c T1-types.h
192:
193: T1_tables.c T1-types.h: t1.py xpepsy
194: ./xpepsy -A -f -m t1.py
195:
196: T1_tables.c: T2-types.h
197:
198: T2_tables.o: T2_tables.c T2-types.h
199:
200: T2_tables.c T2-types.h: t2.py xpepsy
201: ./xpepsy -A -f -m t2.py
202:
203: prt.o: prnt.c $(TOPDIR)h/pepsy.h
204: $(CC) $(CFLAGS) -Dprintf=vprint -o $@ prnt.c
205:
206:
207: ################################################################
208: # manual pages
209: ################################################################
210:
211: MANUALS = pepsy.1 # libpepsy.3
212:
213: manuals:; @$(UTILDIR)inst-man.sh $(MANOPTS) $(MANUALS)
214: -@echo ""
215:
216:
217: ################################################################
218: # clean
219: ################################################################
220:
221: clean:; rm -f *.o *.a x* z* _* core pepsydefs.h *yacc.y *yacc.c lex.l \
222: lex.c *.ph UNIV_* UNIV-* _* core $(TOPDIR)h/UNIV*.h \
223: pp.c pp pep libpepsy.a pepsy-yacc.y T1* T2* t? \
224: peptest pep.results
225:
226: grind:; iprint Makefile
227: tgrind -lc pepsydefs.h pepsy.c pepsy.c pepsyvrsn.c
228: tgrind -ly yacc.y lex.l
229: tgrind -lpepsy -d $(TOPDIR)pepy/grindefs UNIV.py
230: tgrind -lc $(CFILES)
231: @echo $(MANUALS) | \
232: tr " " "\012" | \
233: sed -e "s%.*%itroff -man &%" | \
234: sh -ve
235:
236: true:;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.