Start development on 386BSD 0.0
[unix-history] / .ref-BSD-4_3_Net_2 / usr / src / contrib / isode / snmp / Makefile
CommitLineData
fc4ef1d0
C
1###############################################################################
2# Instructions to Make, for compilation of 4BSD/ISODE SNMP software
3###############################################################################
4
5###############################################################################
6#
7# $Header: /f/osi/snmp/RCS/Makefile,v 7.37 91/03/09 11:57:21 mrose Exp $
8#
9# Contributed by NYSERNet Inc. This work was partially supported by the
10# U.S. Defense Advanced Research Projects Agency and the Rome Air Development
11# Center of the U.S. Air Force Systems Command under contract number
12# F30602-88-C-0016.
13#
14#
15# $Log: Makefile,v $
16# Revision 7.37 91/03/09 11:57:21 mrose
17# update
18#
19# Revision 7.36 91/02/22 09:42:47 mrose
20# Interim 6.8
21#
22# Revision 7.35 91/01/13 11:05:37 mrose
23# update
24#
25# Revision 7.34 91/01/11 15:34:16 mrose
26# sets
27#
28# Revision 7.33 90/12/23 18:42:57 mrose
29# update
30#
31# Revision 7.32 90/12/18 10:22:13 mrose
32# one-more-time
33#
34# Revision 7.31 90/12/18 10:13:04 mrose
35# update
36#
37# Revision 7.30 90/12/17 22:09:18 mrose
38# split-up
39#
40# Revision 7.29 90/11/20 15:31:55 mrose
41# update
42#
43# Revision 7.28 90/09/28 09:53:15 mrose
44# tokenring
45#
46# Revision 7.27 90/09/27 15:48:30 mrose
47# ethernet
48#
49# Revision 7.26 90/09/27 10:48:28 mrose
50# t1,tokenbus
51#
52# Revision 7.25 90/09/26 21:16:39 mrose
53# appletalk
54#
55# Revision 7.24 90/09/26 19:23:00 mrose
56# new-mibs
57#
58# Revision 7.23 90/08/30 15:11:06 mrose
59# ho-hum
60#
61# Revision 7.22 90/08/30 01:32:16 mrose
62# fddi
63#
64# Revision 7.21 90/08/29 19:28:04 mrose
65# touch-up
66#
67# Revision 7.20 90/08/08 14:00:55 mrose
68# stuff
69#
70# Revision 7.19 90/07/09 14:48:31 mrose
71# sync
72#
73# Revision 7.18 90/07/01 21:07:24 mrose
74# pepsy
75#
76# Revision 7.16 90/06/21 21:25:59 mrose
77# snmpt
78#
79# Revision 7.15 90/03/24 10:53:58 mrose
80# update
81#
82# Revision 7.14 90/03/08 08:05:37 mrose
83# isnmp
84#
85# Revision 7.13 90/03/06 13:56:47 mrose
86# touch-up
87#
88# Revision 7.12 90/02/27 18:49:25 mrose
89# unix stuff
90#
91# Revision 7.11 90/02/19 20:45:03 mrose
92# touch-up
93#
94# Revision 7.10 90/02/19 16:43:56 mrose
95# again
96#
97# Revision 7.9 90/02/19 16:25:51 mrose
98# typo
99#
100# Revision 7.8 90/02/19 15:38:40 mrose
101# one more time
102#
103# Revision 7.7 90/02/17 17:18:46 mrose
104# touch-up
105#
106# Revision 7.6 90/02/17 10:37:33 mrose
107# smux
108#
109# Revision 7.5 89/12/20 16:02:43 mrose
110# clns
111#
112# Revision 7.4 89/12/19 16:18:20 mrose
113# dgram
114#
115# Revision 7.3 89/12/17 18:30:09 mrose
116# foo
117#
118# Revision 7.2 89/12/08 21:46:43 mrose
119# ouch-up
120#
121# Revision 7.1 89/12/01 10:42:12 mrose
122# clts
123#
124# Revision 7.0 89/11/23 22:22:54 mrose
125# Release 6.0
126#
127###############################################################################
128
129###############################################################################
130#
131# NOTICE
132#
133# Acquisition, use, and distribution of this module and related
134# materials are subject to the restrictions of a license agreement.
135# Consult the Preface in the User's Manual for the full terms of
136# this agreement.
137#
138###############################################################################
139
140
141PEPYPATH= -DPEPYPATH
142
143.SUFFIXES: .py .c .o
144
145.c.o:; $(CC) $(CFLAGS) -c $*.c
146
147
148LIBES = libisnmp.a $(TOPDIR)libisode.a
149LLIBS = $(TOPDIR)llib-lisode
150MIB-C = $(AE-C) smux-g.c \
151 system.c interfaces.c routes.c ip.c icmp.c tcp.c \
152 udp.c clns.c
153AE-C = mib.c snmp-g.c view-g.c eval.c
154MIB-O = $(AE-O) smux-g.o \
155 system.o interfaces.o routes.o ip.o icmp.o tcp.o \
156 udp.o clns.o
157AE-O = mib.o snmp-g.o view-g.o eval.o
158CFILES = snmpd.c unixd.c snmpi.c objects.c syntax.c values.c \
159 smux.c smuxentry.c $(MIB-C)
160PYFILES = snmp.py
161HFILES = $(HDIR)psap.h $(HDIR)manifest.h $(HDIR)general.h \
162 $(HDIR)config.h
163
164
165##################################################################
166# Here it is...
167##################################################################
168
169all: snmpd snmpc snmpt unixd snmpi runcom peers objects
170inst-all: inst-snmpd inst-snmpt inst-unixd inst-snmpi \
171 inst-runcom inst-peers inst-objects inst-headers \
172 inst-libisnmp manuals # inst-snmpc
173install: inst-all clean
174lint: l-snmpd l-snmpc l-snmpt l-unixd l-snmpi
175
176
177##################################################################
178# snmpd
179##################################################################
180
181inst-snmpd: $(SBINDIR)snmpd
182
183$(SBINDIR)snmpd: xsnmpd
184 -cp $@ zsnmpd
185 -rm -f $@
186 cp xsnmpd $@
187 -@ls -gls $@
188 -@echo ""
189
190snmpd: xsnmpd
191
192xsnmpd: snmpd.o $(MIB-O) $(LIBES)
193 $(LDCC) $(LDFLAGS) -o $@ snmpd.o $(MIB-O) $(LIBES) \
194 $(LNLIST) $(LSOCKET)
195
196l-snmpd: SNMP_tables.c true
197 $(LINT) $(LFLAGS) snmpd.c $(MIB-C) \
198 SNMP_tables.c objects.c syntax.c values.c \
199 smux.c smuxentry.c $(LLIBS) \
200 | grep -v "warning: possible pointer alignment problem"
201
202snmpd.o: SNMP-types.h mib.h objects.h smux.h $(HFILES) $(HDIR)tailor.h \
203 $(HDIR)logger.h \
204 $(HDIR)tsap.h $(HDIR)isoaddrs.h \
205 $(HDIR)dgram.h $(HDIR)internet.h $(HDIR)tp4.h \
206 snmp-g.h view-g.h smux-g.h
207$(MIB-O): SNMP-types.h mib.h objects.h $(HFILES) $(HDIR)logger.h
208system.o: $(HDIR)tailor.h $(HDIR)logger.h
209interfaces.o: interfaces.h $(HDIR)internet.h clns.h
210addrtrans.o: interfaces.h $(HDIR)internet.h clns.h
211ip.o: interfaces.h $(HDIR)internet.h clns.h routes.h
212icmp.o: $(HDIR)internet.h
213tcp.o: $(HDIR)internet.h
214udp.o: $(HDIR)internet.h
215clns.o: interfaces.h $(HDIR)internet.h clns.h routes.h
216snmp-g.o: snmp-g.h
217view-g.o: view-g.h $(HDIR)isoaddrs.h $(HDIR)internet.h
218smux-g.o: smux-g.h $(HDIR)internet.h
219
220
221##################################################################
222# snmpc
223##################################################################
224
225inst-snmpc: $(SBINDIR)snmpc
226
227$(SBINDIR)snmpc: xsnmpc
228 -cp $@ zsnmpc
229 -rm -f $@
230 cp xsnmpc $@
231 -@ls -gls $@
232 -@echo ""
233
234snmpc: xsnmpc
235
236xsnmpc: snmpc.o $(AE-O) $(LIBES)
237 $(LDCC) $(LDFLAGS) -o $@ snmpc.o $(AE-O) $(LIBES) \
238 $(LNLIST) $(LSOCKET)
239
240l-snmpc: SNMP_tables.c true
241 $(LINT) $(LFLAGS) -DSNMPC snmpd.c $(AE-C) \
242 SNMP_tables.c objects.c syntax.c values.c $(LLIBS) \
243 | grep -v "warning: possible pointer alignment problem"
244
245snmpc.o: SNMP-types.h mib.h objects.h smux.h $(HFILES) $(HDIR)tailor.h \
246 $(HDIR)logger.h \
247 $(HDIR)tsap.h $(HDIR)isoaddrs.h \
248 $(HDIR)dgram.h $(HDIR)internet.h $(HDIR)tp4.h \
249 snmpd.c
250 $(CC) $(CFLAGS) -DSNMPC -o snmpc.o -c snmpd.c
251
252
253##################################################################
254# snmpt
255##################################################################
256
257inst-snmpt: $(SBINDIR)snmpt
258
259$(SBINDIR)snmpt: xsnmpt
260 -cp $@ zsnmpt
261 -rm -f $@
262 cp xsnmpt $@
263 -@ls -gls $@
264 -@echo ""
265
266snmpt: xsnmpt
267
268xsnmpt: snmpt.o $(LIBES)
269 $(LDCC) $(LDFLAGS) -o $@ snmpt.o $(LIBES) $(LSOCKET)
270
271l-snmpt: SNMP_tables.c true
272 $(LINT) $(LFLAGS) -DSNMPT snmpd.c SNMP_tables.c $(LLIBS) \
273 | grep -v "warning: possible pointer alignment problem"
274
275snmpt.o: SNMP-types.h mib.h objects.h smux.h $(HFILES) $(HDIR)tailor.h \
276 $(HDIR)logger.h \
277 $(HDIR)tsap.h $(HDIR)isoaddrs.h \
278 $(HDIR)dgram.h $(HDIR)internet.h $(HDIR)tp4.h \
279 snmpd.c
280 $(CC) $(CFLAGS) -DSNMPT -o snmpt.o -c snmpd.c
281
282
283##################################################################
284# unixd
285##################################################################
286
287inst-unixd: $(SBINDIR)smux.unixd
288
289$(SBINDIR)smux.unixd: xunixd
290 -cp $@ zunixd
291 -rm -f $@
292 cp xunixd $@
293 -@ls -gls $@
294 -@echo ""
295
296unixd: xunixd
297
298xunixd: unixd.o $(LIBES)
299 $(LDCC) $(LDFLAGS) -o $@ unixd.o $(LIBES) $(LSOCKET)
300
301l-unixd: SNMP_tables.c true
302 $(LINT) $(LFLAGS) unixd.c SNMP_tables.c \
303 objects.c syntax.c values.c \
304 smux.c smuxentry.c $(LLIBS) \
305 | grep -v "warning: possible pointer alignment problem"
306
307unixd.o: SNMP-types.h objects.h smux.h $(HFILES) $(HDIR)tailor.h \
308 $(HDIR)logger.h
309
310
311##################################################################
312# snmpi
313##################################################################
314
315inst-snmpi: $(BINDIR)snmpi
316
317$(BINDIR)snmpi: xsnmpi
318 -cp $@ zxsnmpi
319 -rm -f $@
320 cp xsnmpi $@
321 -@ls -gls $@
322 -@echo ""
323
324snmpi: xsnmpi
325
326xsnmpi: snmpi.o snmpb.o $(LIBES)
327 $(LDCC) $(LDFLAGS) -o $@ snmpi.o snmpb.o $(LIBES) $(LSOCKET)
328
329l-snmpi: SNMP_tables.c true
330 $(LINT) $(LFLAGS) snmpi.c snmpb.c SNMP_tables.c \
331 objects.c syntax.c values.c $(LLIBS) \
332 | grep -v "warning: possible pointer alignment problem"
333
334snmpi.o: SNMP-types.h objects.h $(HFILES) $(HDIR)tailor.h \
335 $(HDIR)logger.h \
336 $(HDIR)tsap.h $(HDIR)isoaddrs.h \
337 $(HDIR)dgram.h $(HDIR)internet.h $(HDIR)tp4.h
338snmpb.o: SNMP-types.h objects.h $(HFILES) $(HDIR)tailor.h \
339 $(HDIR)logger.h
340
341
342################################################################
343# headers
344################################################################
345
346inst-headers: $(INCDIR)snmp/objects.h $(INCDIR)snmp/smux.h \
347 $(PEPSYDIR)SNMP-types.h $(PEPSYDIR)SNMP_defs.h \
348 $(PEPSYDIR)SNMP_pre_defs.h $(PEPSYDIR)SNMP.ph
349
350$(INCDIR)snmp/objects.h: objects.h
351 -cp $@ zobjects.h
352 cp objects.h $@
353 -@ls -gls $@
354 -@echo ""
355
356$(INCDIR)snmp/smux.h: smux.h
357 -cp $@ zsmux.h
358 cp smux.h $@
359 -@ls -gls $@
360 -@echo ""
361
362$(PEPSYDIR)SNMP-types.h: SNMP-types.h
363 -cp $@ zSNMP-types.h
364 cp SNMP-types.h $@
365 -@ls -gls $@
366 -@echo ""
367
368$(PEPSYDIR)SNMP_defs.h: SNMP_defs.h
369 -cp $@ zSNMP_defs.h
370 cp SNMP_defs.h $@
371 -@ls -gls $@
372 -@echo ""
373
374$(PEPSYDIR)SNMP_pre_defs.h: SNMP_pre_defs.h
375 -cp $@ zSNMP_pre_defs.h
376 cp SNMP_pre_defs.h $@
377 -@ls -gls $@
378 -@echo ""
379
380$(PEPSYDIR)SNMP.ph: SNMP.ph
381 -cp $@ zSNMP.ph
382 cp SNMP.ph $@
383 -@ls -gls $@
384 -@echo ""
385
386
387################################################################
388# libisnmp
389################################################################
390
391inst-libisnmp: $(LIBDIR)libisnmp.a $(LINTDIR)llib-lisnmp
392
393$(LIBDIR)libisnmp.a: libisnmp.a
394 -rm -f $@
395 cp libisnmp.a $@
396 @$(UTILDIR)make-lib.sh $(SYSTEM) $@ -ranlib
397 -@ls -gls $@
398 -@echo ""
399
400$(LINTDIR)llib-lisnmp: llib-lisnmp
401 -cp $@ zllib-lisnmp
402 -rm -f $@
403 sed -e 's%#include "\(.*\)"%#include "$(INCDIR)snmp/\1"%' \
404 < llib-lisnmp | \
405 sed -e 's%#include "/usr/include/\(.*\)"%#include <\1>%' > $@
406 @$(UTILDIR)inst-lint.sh $(SYSTEM) $(OPTIONS) $@
407 -@ls -gls $@ $@.ln
408 -@echo ""
409
410libisnmp.a: SNMP_tables.o objects.o syntax.o values.o smux.o smuxentry.o
411 -rm -f $@
412 @$(UTILDIR)make-lib.sh $(SYSTEM) $(ARFLAGS) $@ $(SNMP-O) \
413 SNMP_tables.o objects.o syntax.o values.o smux.o \
414 smuxentry.o
415 -@ls -l $@
416 -@echo "SNMP library built normally"
417
418SNMP_tables.o: SNMP_tables.c SNMP-types.h
419
420SNMP_tables.c SNMP-types.h: snmp.py $(TOPDIR)pepsy/xpepsy
421 $(TOPDIR)pepsy/xpepsy -A -f -h -m snmp.py
422
423objects.o: objects.h $(HFILES) $(HDIR)tailor.h $(HDIR)logger.h
424syntax.o: objects.h $(HFILES) $(HDIR)tailor.h $(HDIR)logger.h \
425 $(HDIR)internet.h clns.h
426values.o: objects.h SNMP-types.h $(HDIR)logger.h
427smux.o: smux.h SNMP-types.h $(HDIR)tailor.h $(HDIR)logger.h \
428 $(HDIR)internet.h
429smuxentry.o: smux.h SNMP-types.h $(HDIR)tailor.h
430
431
432##################################################################
433# files
434##################################################################
435
436inst-runcom: $(ETCDIR)snmpd.rc
437
438$(ETCDIR)snmpd.rc: snmpd.rc
439 if ln $(ETCDIR)snmpd.rc $(ETCDIR)snmpd.rc.old; \
440 then -rm -f $@; cp snmpd.rc $@; ls -gls $@; \
441 else exit 0; \
442 fi
443
444runcom:;
445
446
447inst-peers: $(ETCDIR)snmpd.peers
448
449$(ETCDIR)snmpd.peers: snmpd.peers
450 -cp $@ zsnmpd.peers
451 -rm -f $@
452 cp snmpd.peers $@
453 -chmod 600 $@
454 -@ls -gls $@
455 -@echo ""
456
457peers:;
458
459
460DEFS = objects.defs snmpd.defs unixd.defs # snmpc.defs
461DEFS2 = smi.defs mib.defs \
462 clns.defs ds1.defs ethernet.defs tokenring.defs ifx.defs \
463 tokenbus.defs fddi.defs lanmgr.defs view.defs \
464 bgp.defs ds3.defs appletalk.defs ppp.defs \
465 unix.defs smux.defs \
466 eval.defs
467
468inst-objects:; -mkdir $(INCDIR)snmp
469 @for d in $(DEFS); do $(MAKE) TARGET=$$d inst-target; done
470 @for d in $(DEFS2); do $(MAKE) TARGET2=$$d inst-target2; done
471
472inst-target: $(ETCDIR)$(TARGET)
473
474$(ETCDIR)$(TARGET): $(TARGET)
475 -cp $@ z$(TARGET)
476 -rm -f $@
477 cp $(TARGET) $@
478 -@if [ "$(TARGET)" = "objects.defs" ]; then \
479 xsnmpi -f $@ compile $@; fi
480 -@ls -gls $@
481 -@echo ""
482
483inst-target2: $(INCDIR)snmp/$(TARGET2)
484
485$(INCDIR)snmp/$(TARGET2): $(TARGET2)
486 -cp $@ z$(TARGET2)
487 -rm -f $@
488 cp $(TARGET2) $@
489 -@ls -gls $@
490 -@echo ""
491
492objects: $(DEFS)
493
494objects.defs: $(DEFS2)
495 cat $(DEFS2) > $@
496
497snmpd.defs: smi.defs mib.defs clns.defs view.defs smux.defs eval.defs
498 cat smi.defs mib.defs clns.defs view.defs smux.defs eval.defs \
499 > $@
500
501snmpc.defs: smi.defs view.defs smux.defs eval.defs
502 cat smi.defs view.defs smux.defs eval.defs > $@
503
504unixd.defs: smi.defs unix.defs
505 cat smi.defs unix.defs > $@
506
507
508################################################################
509# manual pages
510################################################################
511
512MANUALS = snmpd.8c snmpc.8c snmpt.8c unixd.8c snmpi.1c
513
514manuals:; @$(UTILDIR)inst-man.sh $(MANOPTS) $(MANUALS)
515 -@echo ""
516
517
518################################################################
519# clean
520################################################################
521
522clean:; rm -f *.o *.a SNMP* x* z* _* core $(DEFS)
523
524grind:; iprint Makefile
525 tgrind -lc $(CFILES)
526 tgrind -lpepy -d $(TOPDIR)pepy/grindefs $(PYFILES) $(DEFS2)
527 @echo $(MANUALS) | \
528 tr " " "\012" | \
529 sed -e "s%.*%itroff -man &%" | \
530 sh -ve
531
532true:;