Commit | Line | Data |
---|---|---|
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 | ||
141 | PEPYPATH= -DPEPYPATH | |
142 | ||
143 | .SUFFIXES: .py .c .o | |
144 | ||
145 | .c.o:; $(CC) $(CFLAGS) -c $*.c | |
146 | ||
147 | ||
148 | LIBES = libisnmp.a $(TOPDIR)libisode.a | |
149 | LLIBS = $(TOPDIR)llib-lisode | |
150 | MIB-C = $(AE-C) smux-g.c \ | |
151 | system.c interfaces.c routes.c ip.c icmp.c tcp.c \ | |
152 | udp.c clns.c | |
153 | AE-C = mib.c snmp-g.c view-g.c eval.c | |
154 | MIB-O = $(AE-O) smux-g.o \ | |
155 | system.o interfaces.o routes.o ip.o icmp.o tcp.o \ | |
156 | udp.o clns.o | |
157 | AE-O = mib.o snmp-g.o view-g.o eval.o | |
158 | CFILES = snmpd.c unixd.c snmpi.c objects.c syntax.c values.c \ | |
159 | smux.c smuxentry.c $(MIB-C) | |
160 | PYFILES = snmp.py | |
161 | HFILES = $(HDIR)psap.h $(HDIR)manifest.h $(HDIR)general.h \ | |
162 | $(HDIR)config.h | |
163 | ||
164 | ||
165 | ################################################################## | |
166 | # Here it is... | |
167 | ################################################################## | |
168 | ||
169 | all: snmpd snmpc snmpt unixd snmpi runcom peers objects | |
170 | inst-all: inst-snmpd inst-snmpt inst-unixd inst-snmpi \ | |
171 | inst-runcom inst-peers inst-objects inst-headers \ | |
172 | inst-libisnmp manuals # inst-snmpc | |
173 | install: inst-all clean | |
174 | lint: l-snmpd l-snmpc l-snmpt l-unixd l-snmpi | |
175 | ||
176 | ||
177 | ################################################################## | |
178 | # snmpd | |
179 | ################################################################## | |
180 | ||
181 | inst-snmpd: $(SBINDIR)snmpd | |
182 | ||
183 | $(SBINDIR)snmpd: xsnmpd | |
184 | -cp $@ zsnmpd | |
185 | -rm -f $@ | |
186 | cp xsnmpd $@ | |
187 | -@ls -gls $@ | |
188 | -@echo "" | |
189 | ||
190 | snmpd: xsnmpd | |
191 | ||
192 | xsnmpd: snmpd.o $(MIB-O) $(LIBES) | |
193 | $(LDCC) $(LDFLAGS) -o $@ snmpd.o $(MIB-O) $(LIBES) \ | |
194 | $(LNLIST) $(LSOCKET) | |
195 | ||
196 | l-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 | ||
202 | snmpd.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 | |
208 | system.o: $(HDIR)tailor.h $(HDIR)logger.h | |
209 | interfaces.o: interfaces.h $(HDIR)internet.h clns.h | |
210 | addrtrans.o: interfaces.h $(HDIR)internet.h clns.h | |
211 | ip.o: interfaces.h $(HDIR)internet.h clns.h routes.h | |
212 | icmp.o: $(HDIR)internet.h | |
213 | tcp.o: $(HDIR)internet.h | |
214 | udp.o: $(HDIR)internet.h | |
215 | clns.o: interfaces.h $(HDIR)internet.h clns.h routes.h | |
216 | snmp-g.o: snmp-g.h | |
217 | view-g.o: view-g.h $(HDIR)isoaddrs.h $(HDIR)internet.h | |
218 | smux-g.o: smux-g.h $(HDIR)internet.h | |
219 | ||
220 | ||
221 | ################################################################## | |
222 | # snmpc | |
223 | ################################################################## | |
224 | ||
225 | inst-snmpc: $(SBINDIR)snmpc | |
226 | ||
227 | $(SBINDIR)snmpc: xsnmpc | |
228 | -cp $@ zsnmpc | |
229 | -rm -f $@ | |
230 | cp xsnmpc $@ | |
231 | -@ls -gls $@ | |
232 | -@echo "" | |
233 | ||
234 | snmpc: xsnmpc | |
235 | ||
236 | xsnmpc: snmpc.o $(AE-O) $(LIBES) | |
237 | $(LDCC) $(LDFLAGS) -o $@ snmpc.o $(AE-O) $(LIBES) \ | |
238 | $(LNLIST) $(LSOCKET) | |
239 | ||
240 | l-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 | ||
245 | snmpc.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 | ||
257 | inst-snmpt: $(SBINDIR)snmpt | |
258 | ||
259 | $(SBINDIR)snmpt: xsnmpt | |
260 | -cp $@ zsnmpt | |
261 | -rm -f $@ | |
262 | cp xsnmpt $@ | |
263 | -@ls -gls $@ | |
264 | -@echo "" | |
265 | ||
266 | snmpt: xsnmpt | |
267 | ||
268 | xsnmpt: snmpt.o $(LIBES) | |
269 | $(LDCC) $(LDFLAGS) -o $@ snmpt.o $(LIBES) $(LSOCKET) | |
270 | ||
271 | l-snmpt: SNMP_tables.c true | |
272 | $(LINT) $(LFLAGS) -DSNMPT snmpd.c SNMP_tables.c $(LLIBS) \ | |
273 | | grep -v "warning: possible pointer alignment problem" | |
274 | ||
275 | snmpt.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 | ||
287 | inst-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 | ||
296 | unixd: xunixd | |
297 | ||
298 | xunixd: unixd.o $(LIBES) | |
299 | $(LDCC) $(LDFLAGS) -o $@ unixd.o $(LIBES) $(LSOCKET) | |
300 | ||
301 | l-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 | ||
307 | unixd.o: SNMP-types.h objects.h smux.h $(HFILES) $(HDIR)tailor.h \ | |
308 | $(HDIR)logger.h | |
309 | ||
310 | ||
311 | ################################################################## | |
312 | # snmpi | |
313 | ################################################################## | |
314 | ||
315 | inst-snmpi: $(BINDIR)snmpi | |
316 | ||
317 | $(BINDIR)snmpi: xsnmpi | |
318 | -cp $@ zxsnmpi | |
319 | -rm -f $@ | |
320 | cp xsnmpi $@ | |
321 | -@ls -gls $@ | |
322 | -@echo "" | |
323 | ||
324 | snmpi: xsnmpi | |
325 | ||
326 | xsnmpi: snmpi.o snmpb.o $(LIBES) | |
327 | $(LDCC) $(LDFLAGS) -o $@ snmpi.o snmpb.o $(LIBES) $(LSOCKET) | |
328 | ||
329 | l-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 | ||
334 | snmpi.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 | |
338 | snmpb.o: SNMP-types.h objects.h $(HFILES) $(HDIR)tailor.h \ | |
339 | $(HDIR)logger.h | |
340 | ||
341 | ||
342 | ################################################################ | |
343 | # headers | |
344 | ################################################################ | |
345 | ||
346 | inst-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 | ||
391 | inst-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 | ||
410 | libisnmp.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 | ||
418 | SNMP_tables.o: SNMP_tables.c SNMP-types.h | |
419 | ||
420 | SNMP_tables.c SNMP-types.h: snmp.py $(TOPDIR)pepsy/xpepsy | |
421 | $(TOPDIR)pepsy/xpepsy -A -f -h -m snmp.py | |
422 | ||
423 | objects.o: objects.h $(HFILES) $(HDIR)tailor.h $(HDIR)logger.h | |
424 | syntax.o: objects.h $(HFILES) $(HDIR)tailor.h $(HDIR)logger.h \ | |
425 | $(HDIR)internet.h clns.h | |
426 | values.o: objects.h SNMP-types.h $(HDIR)logger.h | |
427 | smux.o: smux.h SNMP-types.h $(HDIR)tailor.h $(HDIR)logger.h \ | |
428 | $(HDIR)internet.h | |
429 | smuxentry.o: smux.h SNMP-types.h $(HDIR)tailor.h | |
430 | ||
431 | ||
432 | ################################################################## | |
433 | # files | |
434 | ################################################################## | |
435 | ||
436 | inst-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 | ||
444 | runcom:; | |
445 | ||
446 | ||
447 | inst-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 | ||
457 | peers:; | |
458 | ||
459 | ||
460 | DEFS = objects.defs snmpd.defs unixd.defs # snmpc.defs | |
461 | DEFS2 = 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 | ||
468 | inst-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 | ||
472 | inst-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 | ||
483 | inst-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 | ||
492 | objects: $(DEFS) | |
493 | ||
494 | objects.defs: $(DEFS2) | |
495 | cat $(DEFS2) > $@ | |
496 | ||
497 | snmpd.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 | ||
501 | snmpc.defs: smi.defs view.defs smux.defs eval.defs | |
502 | cat smi.defs view.defs smux.defs eval.defs > $@ | |
503 | ||
504 | unixd.defs: smi.defs unix.defs | |
505 | cat smi.defs unix.defs > $@ | |
506 | ||
507 | ||
508 | ################################################################ | |
509 | # manual pages | |
510 | ################################################################ | |
511 | ||
512 | MANUALS = snmpd.8c snmpc.8c snmpt.8c unixd.8c snmpi.1c | |
513 | ||
514 | manuals:; @$(UTILDIR)inst-man.sh $(MANOPTS) $(MANUALS) | |
515 | -@echo "" | |
516 | ||
517 | ||
518 | ################################################################ | |
519 | # clean | |
520 | ################################################################ | |
521 | ||
522 | clean:; rm -f *.o *.a SNMP* x* z* _* core $(DEFS) | |
523 | ||
524 | grind:; 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 | ||
532 | true:; |