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