|
|
1.1 root 1: ###############################################################################
2: # Instructions to Make, for compilation of ISODE PEPY processes
3: ###############################################################################
4:
5: ###############################################################################
6: #
7: # $Header: /f/osi/pepy/RCS/Makefile,v 7.4 90/07/27 08:47:22 mrose Exp $
8: #
9: #
10: # $Log: Makefile,v $
11: # Revision 7.4 90/07/27 08:47:22 mrose
12: # update
13: #
14: # Revision 7.3 90/07/09 14:43:06 mrose
15: # sync
16: #
17: # Revision 7.2 90/07/01 21:04:51 mrose
18: # pepsy
19: #
20: # Revision 7.1 90/01/11 18:37:02 mrose
21: # real-sync
22: #
23: # Revision 7.0 89/11/23 22:11:30 mrose
24: # Release 6.0
25: #
26: ###############################################################################
27:
28: ###############################################################################
29: #
30: # NOTICE
31: #
32: # Acquisition, use, and distribution of this module and related
33: # materials are subject to the restrictions of a license agreement.
34: # Consult the Preface in the User's Manual for the full terms of
35: # this agreement.
36: #
37: ###############################################################################
38:
39: PEPYPATH= -DPEPYPATH=\".:$(PEPYDIRM)\"
40:
41: .SUFFIXES: .py .c .o
42:
43: .py.c:; ./xpepy -a PY_advise -m $(PYFLAGS) $<
44:
45: .c.o:; $(CC) $(CFLAGS) -c $*.c
46:
47:
48: # to prevent a lot of unnecessary re-loading
49: PEPYLIBES= $(TOPDIR)psap/sprintoid.o $(TOPDIR)psap/pl_tables.o \
50: $(TOPDIR)psap/oid_cmp.o $(TOPDIR)psap/oid_cpy.o \
51: $(TOPDIR)psap/oid_free.o \
52: $(TOPDIR)compat/asprintf.o $(TOPDIR)compat/serror.o \
53: $(TOPDIR)compat/sprintb.o
54: LIBES = $(TOPDIR)libpepsy.a $(TOPDIR)libpsap.a $(TOPDIR)libcompat.a
55: LLIBS = $(TOPDIR)llib-lpsap $(TOPDIR)llib-lcompat
56: HFILES = $(HDIR)psap.h \
57: $(HDIR)manifest.h $(HDIR)general.h $(HDIR)config.h
58:
59:
60: ##################################################################
61: # Here it is...
62: ##################################################################
63:
64: all: pepy posy libpepy pepytest pp
65: inst-all: inst-pepy inst-posy inst-headers manuals # inst-libpepy
66: install: inst-all clean
67: tests: pepytest pp mpp salary hello_world bigpepytest true
68: -@for f in test/test*.pe; \
69: do (echo pepytest $$f; pepytest < $$f); done
70: -@for f in test/test*.pe test/mhs/msg*.pe; \
71: do (echo pp $$f; pp < $$f); done
72: -@for f in test/mhs/msg*.pe; \
73: do (echo mpp $$f; mpp < $$f); done
74: -salary fritz 10
75: -hello_world
76: -bigpepytest
77: lint: l-pepy l-posy l-libpepy l-pepytest l-pp l-mpp l-salary \
78: l-hello_world l-bigpepytest
79:
80:
81: ##################################################################
82: # pepy
83: ##################################################################
84:
85: inst-pepy: $(BINDIR)pepy
86:
87: $(BINDIR)pepy: xpepy
88: -cp $@ zxpepy
89: -rm -f $@
90: cp xpepy $@
91: -@ls -gls $@
92: -@echo ""
93:
94: pepy: xpepy
95:
96: xpepy: pepyvrsn.o $(PEPYLIBES)
97: $(LDCC) $(LDFLAGS) -o $@ pepy.o pepy_do.o pepy_undo.o \
98: yacc.o pepy_misc.o pepyvrsn.o $(PEPYLIBES) \
99: $(LSOCKET) -lm
100:
101: pepy.o: pepy.c pepy.h $(HFILES)
102:
103: pepyvrsn.c: pepy.o yacc.o pepy_do.o pepy_undo.o pepy_misc.o
104: @$(UTILDIR)version.sh pepy > $@
105:
106: pepy_do.o: pepy_do.c pepy.h
107:
108: pepy_undo.o: pepy_undo.c pepy.h
109:
110: pepy_misc.o: pepy_misc.c pepy.h
111:
112: yacc.o: yacc.c lex.c pepy.h $(HFILES)
113: $(CC) $(CFLAGS) -c $*.c
114:
115: yacc.c: yacc.y
116: -@echo "expect 20 shift/reduce and 9 reduce/reduce conflicts"
117: yacc $(YACCFLAGS) yacc.y
118: mv y.tab.c $@
119:
120: yacc.y: $(TOPDIR)pepsy/yacc.y.gnrc
121: $(UTILDIR)extract.sh PEPY < $? > $@
122:
123: lex.c: lex.l
124: $(LEX) $(LEXFLAGS) lex.l
125: mv lex.yy.c $@
126:
127: lex.l: $(TOPDIR)pepsy/lex.l.gnrc
128: $(UTILDIR)extract.sh PEPY < $? > $@
129:
130: pepy.h: $(TOPDIR)pepsy/pepsy.h.gnrc
131: $(UTILDIR)extract.sh PEPY < $? > $@
132:
133: l-pepy: pepy.h yacc.c lex.c pepyvrsn.c true
134: $(LINT) $(LFLAGS) pepy.c yacc.c pepy_do.c pepy_undo.c \
135: pepy_misc.c pepyvrsn.c $(LLIBS)
136:
137:
138: ##################################################################
139: # posy
140: ##################################################################
141:
142: inst-posy: $(BINDIR)posy
143:
144: $(BINDIR)posy: xposy
145: -cp $@ zxposy
146: -rm -f $@
147: cp xposy $@
148: -@ls -gls $@
149: -@echo ""
150:
151: posy: xposy
152:
153: xposy: posy.o pepy_misc.o yacc.o pepyvrsn.o $(PEPYLIBES)
154: $(LDCC) $(LDFLAGS) -o $@ posy.o pepy_misc.o yacc.o \
155: pepyvrsn.o $(PEPYLIBES) $(LSOCKET) -lm
156:
157: posy.o: posy.c pepy.h $(HFILES)
158:
159: l-posy: yacc.c lex.c true
160: $(LINT) $(LFLAGS) posy.c yacc.c pepy_misc.c \
161: pepyvrsn.c $(LLIBS)
162:
163:
164: ################################################################
165: # libpepy
166: ################################################################
167:
168: CFILES = py_pp.c testdebug.c
169: OFILES = py_pp.o testdebug.o
170: HEADERS = UNIV.ph UNIV-types.h
171:
172: inst-libpepy: $(LIBDIR)libpepy.a inst-headers
173:
174: $(LIBDIR)libpepy.a: libpepy.a
175: -rm -f $@
176: cp libpepy.a $@
177: @$(UTILDIR)make-lib.sh $(SYSTEM) $@ -ranlib
178: -@ls -gls $@
179: -@echo ""
180:
181: inst-headers:; -mkdir $(PEPYDIRM)
182: @for h in $(HEADERS); do $(MAKE) TARGET=$$h inst-target; done
183:
184: inst-target: $(PEPYDIR)$(TARGET)
185:
186: $(PEPYDIR)$(TARGET): $(TARGET)
187: -cp $@ z$(TARGET)
188: cp $(TARGET) $@
189: -@ls -gls $@
190: -@echo ""
191:
192: libpepy: libpepy.a
193:
194: libpepy.a: UNIV-O $(OFILES)
195: -rm -f $@
196: @$(UTILDIR)make-lib.sh $(SYSTEM) $(ARFLAGS) $@ $(OFILES) \
197: $(UNIV-O)
198: -@rm -f $(TOPDIR)libpepy.a
199: -@$(LN) libpepy.a $(TOPDIR)libpepy.a
200: -@ls -l $@
201: -@echo "PEPY library built normally"
202:
203: UNIV-O = UPEPY-[0-9]*.o VPEPY-[0-9]*.o
204: UNIV-C = UPEPY-[0-9]*.c VPEPY-[0-9]*.c
205:
206: UNIV-O: UPEPY-C VPEPY-C
207: @$(MAKE) `/bin/ls $(UPEPY-C) $(VPEPY-C) | sed 's/\.c$$/.o/'`
208: -@touch $@
209:
210: UNIV-C: UPEPY-C VPEPY-C
211:
212: UPEPY-O = UPEPY-[0-9]*.o
213: UPEPY-C = UPEPY-[0-9]*.c
214:
215: UPEPY-C: $(TOPDIR)pepsy/UNIV.py xpepy
216: -@rm -f $(UPEPY-C) $(UPEPY-O)
217: ./xpepy -a PY_advise -m -A -b UPEPY $(TOPDIR)pepsy/UNIV.py
218: -@touch $@
219:
220: VPEPY-O = VPEPY-[0-9]*.o
221: VPEPY-C = VPEPY-[0-9]*.c
222:
223: VPEPY-C: UNIV-types.py xpepy
224: -@rm -f $(VPEPY-C) $(VPEPY-O)
225: ./xpepy -a PY_advise -m -b VPEPY UNIV-types.py
226: -@touch $@
227:
228: UNIV-types.h UNIV-types.py: $(TOPDIR)pepsy/UNIV.py xposy
229: ./xposy -f -h -m -o UNIV-types.py $(TOPDIR)pepsy/UNIV.py
230:
231: l-libpepy: $(CFILES) UNIV-C true
232: $(LINT) $(LFLAGS) $(CFILES) $(UNIV-C) $(LLIBS)
233:
234: testdebug.c: testdebug.py xpepy
235:
236:
237: py_pp.o: py_pp.c $(HDIR)psap.h $(HDIR)general.h $(HDIR)manifest.h
238:
239: ##################################################################
240: # pepytest
241: ##################################################################
242:
243: pepytest: pepytest.o libpepy.a $(LIBES)
244: $(LDCC) $(LDFLAGS) -o $@ pepytest.o libpepy.a $(LIBES) \
245: $(LSOCKET)
246:
247: pepytest.o: pepytest.c $(HFILES)
248:
249: pepytest.c: pepytest.py xpepy
250:
251: l-pepytest: pepytest.c $(CFILES) UNIV-C true
252: $(LINT) $(LFLAGS) pepytest.c $(CFILES) $(UNIV-C) $(LLIBS)
253:
254:
255: ##################################################################
256: # pp
257: ##################################################################
258:
259: pp: pp.o libpepy.a $(LIBES)
260: $(LDCC) $(LDFLAGS) -o $@ pp.o libpepy.a $(LIBES) $(LSOCKET)
261:
262: pp.o: pp.c $(HFILES)
263:
264: pp.c: pp.py xpepy
265:
266: l-pp: pp.c $(CFILES) UNIV-C true
267: $(LINT) $(LFLAGS) pp.c $(CFILES) $(UNIV-C) $(LLIBS)
268:
269:
270: ##################################################################
271: # tests
272: ##################################################################
273:
274: mpp: mpp.o P1.o P2.o P3.o SFD.o T73.o EAN.o libpepy.a $(LIBES)
275: $(LDCC) $(LDFLAGS) -o $@ mpp.o P1.o P2.o P3.o SFD.o T73.o \
276: EAN.o libpepy.a $(LIBES) $(LSOCKET)
277:
278: mpp.o: mpp.c $(HFILES)
279: mpp.c: mpp.py xpepy
280:
281: EAN.o: EAN.c $(HFILES)
282: EAN.c: EAN.py xpepy
283:
284: P1.o: P1.c $(HFILES)
285: P1.c: P1.py xpepy
286:
287: P2.o: P2.c $(HFILES)
288: P2.c: P2.py xpepy
289:
290: P3.o: P3.c $(HFILES)
291: P3.c: P3.py xpepy
292:
293: SFD.o: SFD.c $(HFILES)
294: SFD.c: SFD.py xpepy
295:
296: T73.o: T73.c $(HFILES)
297: T73.c: T73.py xpepy
298:
299: l-mpp: mpp.c P1.c P2.c P3.c SFD.c T73.c EAN.c $(CFILES) UNIV-C true
300: $(LINT) $(LFLAGS) mpp.c P1.c P2.c P3.c SFD.c T73.c EAN.c \
301: $(CFILES) $(UNIV-C) $(LLIBS)
302:
303:
304: salary: salary.o
305: $(LDCC) $(LDFLAGS) -o $@ salary.o libpepy.a $(LIBES) \
306: $(LSOCKET)
307:
308: salary.c: salary.py xpepy
309:
310: l-salary: salary.c $(CFILES) UNIV-C true
311: $(LINT) $(LFLAGS) salary.c $(CFILES) $(UNIV-C) $(LLIBS)
312:
313:
314: hello_world: hello_world.o
315: $(LDCC) $(LDFLAGS) -o $@ hello_world.o libpepy.a \
316: $(LIBES) $(LSOCKET)
317:
318: hello_world.c: hello_world.py xpepy
319:
320: l-hello_world: hello_world.c $(CFILES) UNIV-C true
321: $(LINT) $(LFLAGS) hello_world.c $(CFILES) $(UNIV-C) $(LLIBS)
322:
323:
324: bigpepytest: bigpepytest.o
325: $(LDCC) $(LDFLAGS) -o $@ bigpepytest.o libpepy.a $(LIBES) \
326: $(LSOCKET)
327:
328: bigpepytest.c: bigpepytest.py xpepy
329:
330: l-bigpepytest: bigpepytest.c $(CFILES) UNIV-C true
331: $(LINT) $(LFLAGS) bigpepytest.c $(CFILES) $(UNIV-C) $(LLIBS)
332:
333:
334: ################################################################
335: # manual pages
336: ################################################################
337:
338: MANUALS = pepy.1 posy.1 # libpepy.3
339:
340: manuals:; @$(UTILDIR)inst-man.sh $(MANOPTS) $(MANUALS)
341: -@echo ""
342:
343:
344: ################################################################
345: # clean
346: ################################################################
347:
348: clean:; rm -f *.o *.a x* z* _* core pepy.h *yacc.y *yacc.c lex.l \
349: lex.c *.ph testdebug.c UNIV-* UPEPY-* VPEPY-* \
350: pepytest.c pepytest pp.c pp mpp mpp.c P1.c P2.c \
351: P3.c SFD.c T73.c EAN.c pepyvrsn.c salary.c salary \
352: hello_world.c hello_world bigpepytest.c bigpepytest
353:
354: grind:; iprint Makefile
355: tgrind -lc pepy.h pepy.c posy.c pepyvrsn.c
356: tgrind -ly yacc.y lex.l
357: tgrind -lpepy -d grindefs pepytest.py \
358: mpp.py P1.py P2.py P3.py SFD.py T73.py EAN.py \
359: salary.py hello_world.py bigpepytest.py
360: tgrind -lc $(CFILES)
361: @echo $(MANUALS) | \
362: tr " " "\012" | \
363: sed -e "s%.*%itroff -man &%" | \
364: sh -ve
365:
366: true:;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.