1#
2# Makefile for the man page directory
3#
4VPATH		= @srcdir@
5
6#
7# install stuff
8#
9
10OTHERINSTALL=maninstall
11OTHERUNINSTALL=manuninstall
12#
13# local stuff
14#
15
16MAN1  = snmpinform.1 snmp-bridge-mib.1 snmptop.1
17
18@NETSNMP_HAVE_AGENTX_LIBS_TRUE@AGENTXTRAP = agentxtrap.1
19@NETSNMP_HAVE_AGENTX_LIBS_FALSE@AGENTXTRAP =
20
21MAN1G = $(AGENTXTRAP) snmpbulkget.1 snmpcmd.1 snmpget.1 snmpset.1 snmpwalk.1 \
22	snmpbulkwalk.1 snmpgetnext.1 snmptest.1 snmptranslate.1 snmptrap.1 \
23	snmpusm.1 snmpvacm.1 snmptable.1 snmpstatus.1 snmpconf.1 mib2c.1 \
24	snmpnetstat.1 snmpdelta.1 snmpdf.1 snmpps.1 encode_keychange.1 \
25	fixproc.1 \
26	net-snmp-config.1 mib2c-update.1 tkmib.1 traptoemail.1 \
27	net-snmp-create-v3-user.1
28
29# If MAN3 is populated again, then remember to re-enable the corresponding
30# action line within the 'maninstall' target
31MAN3  =
32MAN3_API = netsnmp_mib_api.3 netsnmp_config_api.3 snmp_alarm.3 \
33	netsnmp_session_api.3 netsnmp_sess_api.3 netsnmp_trap_api.3 netsnmp_varbind_api.3 netsnmp_pdu_api.3
34MAN3G = default_store.3 netsnmp_agent_api.3 $(MAN3_API)
35MAN5G = snmpd.conf.5 snmptrapd.conf.5 snmp.conf.5 snmp_config.5 variables.5 \
36        mib2c.conf.5 snmpd.examples.5 snmpd.internal.5
37MAN8G = snmptrapd.8 snmpd.8
38
39MIB_ALIASES     = add_mibdir.3 add_module_replacement.3		\
40	fprint_description.3 fprint_objid.3 get_module_node.3	\
41	netsnmp_init_mib.3 netsnmp_read_module.3		\
42	print_description.3 print_mib.3 print_objid.3		\
43	read_all_mibs.3 read_mib.3 read_objid.3			\
44	shutdown_mib.3 snmp_parse_oid.3 snmp_set_mib_errors.3	\
45	snmp_set_mib_warnings.3 snmp_set_save_descriptions.3	\
46	snprint_description.3 snprint_objid.3
47CONFIG_ALIASES  = config_perror.3 config_pwarn.3			    \
48	read_config_print_usage.3 read_configs.3 read_premib_configs.3	    \
49	register_app_config_handler.3 register_app_prenetsnmp_mib_handler.3 \
50	register_config_handler.3 register_const_config_handler.3	    \
51	register_mib_handlers.3 register_prenetsnmp_mib_handler.3	    \
52	unregister_all_config_handlers.3			 	    \
53	unregister_app_config_handler.3 unregister_config_handler.3
54ALARM_ALIASES   = snmp_alarm_register.3 snmp_alarm_register_hr.3 snmp_alarm_unregister.3
55SESSION_ALIASES = snmp_api_errstring.3 snmp_close.3 snmp_error.3    \
56	snmp_open.3 snmp_perror.3 snmp_read.3 snmp_select_info.3    \
57	snmp_send.3 snmp_sess_perror.3 snmp_timeout.3               \
58	snmp_async_send.3 snmp_synch_response.3
59SSESS_ALIASES   = snmp_sess_async_send.3 snmp_sess_close.3 snmp_sess_error.3 \
60	snmp_sess_init.3 snmp_sess_open.3 snmp_sess_read.3		     \
61	snmp_sess_select_info.3 snmp_sess_send.3			     \
62	snmp_sess_session.3 snmp_sess_timeout.3                              \
63	snmp_sess_synch_response.3
64TRAP_ALIASES    = send_easy_trap.3 send_trap_vars.3 send_v2trap.3
65VARBIND_ALIASES = fprint_value.3 fprint_variable.3	\
66	print_value.3 print_variable.3			\
67	snmp_add_null_var.3 snmp_clone_varbind.3	\
68	snmp_free_var.3 snmp_free_varbind.3		\
69	snmp_pdu_add_variable.3				\
70	snmp_set_var_objid.3 snmp_set_var_typed_integer.3 \
71	snmp_set_var_typed_value.3 snmp_set_var_value.3   \
72	snmp_varlist_add_variable.3 snprint_value.3 snprint_variable.3
73PDU_ALIASES     = snmp_clone_pdu.3 snmp_fix_pdu.3 snmp_free_pdu.3 snmp_pdu_create.3
74
75
76
77MANALIASES=$(MIB_ALIASES) $(CONFIG_ALIASES) $(ALARM_ALIASES) $(SESSION_ALIASES) \
78	$(SSESS_ALIASES) $(TRAP_ALIASES) $(VARBIND_ALIASES) $(PDU_ALIASES)
79MANALL = $(MAN1) $(MAN1G) $(MAN3) $(MAN3G) $(MAN5G) $(MAN8G) $(MANALIASES)
80
81TARGETS = $(MAN5G) $(MAN1G) $(MAN3G) $(MAN8G)
82OTHERCLEANTARGETS=$(TARGETS) default_store.3.h $(MANALIASES) manaliases
83
84all: $(TARGETS) standardall manaliases
85
86manaliases: Makefile $(MAN3_API)
87	touch manaliases
88	@result=0 ; \
89        for i in $(MAN3_API) ; do				  \
90            for j in `$(SED) -n '/^.SH NAME/,/^.SH SYNOPSIS/p' $$i  | $(SED) -e 's/.- .*//' | $(SED) 's/,.*//'  | $(EGREP) -v '^.SH ' `; do \
91		echo "making man page alias $$j -> $$i APIs" ;    \
92		echo ".so man3/$$i" > $$j.3 ; 		  \
93		if expr "$(MANALIASES)" : ".*$$j\\.3" > /dev/null ; \
94		then \
95		  : ; \
96		else \
97		    var=`echo $$i | $(SED) -e 's/^netsnmp_//' -e 's/_api.3//' | tr '[a-z]' '[A-Z]'` ; \
98		    echo "You must add $$j.3 to the $${var}_ALIASES variable in the Makefile.in" ; \
99		    result=1 ; \
100	        fi; \
101	    done                                                  \
102	done ; \
103	exit $$result
104
105$(MANALIASES): manaliases
106
107agentxtrap.1: $(srcdir)/agentxtrap.1.def ../sedscript
108	$(SED) -f ../sedscript < $(srcdir)/agentxtrap.1.def > agentxtrap.1
109
110snmpbulkget.1: $(srcdir)/snmpbulkget.1.def ../sedscript
111	$(SED) -f ../sedscript < $(srcdir)/snmpbulkget.1.def > snmpbulkget.1
112
113snmpbulkwalk.1: $(srcdir)/snmpbulkwalk.1.def ../sedscript
114	$(SED) -f ../sedscript < $(srcdir)/snmpbulkwalk.1.def > snmpbulkwalk.1
115
116snmpcmd.1: $(srcdir)/snmpcmd.1.def ../sedscript
117	$(SED) -f ../sedscript < $(srcdir)/snmpcmd.1.def > snmpcmd.1
118
119snmpconf.1: $(srcdir)/snmpconf.1.def ../sedscript
120	$(SED) -f ../sedscript < $(srcdir)/snmpconf.1.def > snmpconf.1
121
122snmpd.8: $(srcdir)/snmpd.8.def ../sedscript
123	$(SED) -f ../sedscript < $(srcdir)/snmpd.8.def > snmpd.8
124
125snmpdelta.1: $(srcdir)/snmpdelta.1.def ../sedscript
126	$(SED) -f ../sedscript < $(srcdir)/snmpdelta.1.def > snmpdelta.1
127
128snmpdf.1: $(srcdir)/snmpdf.1.def ../sedscript
129	$(SED) -f ../sedscript < $(srcdir)/snmpdf.1.def > snmpdf.1
130
131snmpps.1: $(srcdir)/snmpps.1.def ../sedscript
132	$(SED) -f ../sedscript < $(srcdir)/snmpps.1.def > snmpps.1
133
134snmpget.1: $(srcdir)/snmpget.1.def ../sedscript
135	$(SED) -f ../sedscript < $(srcdir)/snmpget.1.def > snmpget.1
136
137snmpgetnext.1: $(srcdir)/snmpgetnext.1.def ../sedscript
138	$(SED) -f ../sedscript < $(srcdir)/snmpgetnext.1.def > snmpgetnext.1
139
140snmpnetstat.1: $(srcdir)/snmpnetstat.1.def ../sedscript
141	$(SED) -f ../sedscript < $(srcdir)/snmpnetstat.1.def > snmpnetstat.1
142
143snmpset.1: $(srcdir)/snmpset.1.def ../sedscript
144	$(SED) -f ../sedscript < $(srcdir)/snmpset.1.def > snmpset.1
145
146snmpstatus.1: $(srcdir)/snmpstatus.1.def ../sedscript
147	$(SED) -f ../sedscript < $(srcdir)/snmpstatus.1.def > snmpstatus.1
148
149snmptable.1: $(srcdir)/snmptable.1.def ../sedscript
150	$(SED) -f ../sedscript < $(srcdir)/snmptable.1.def > snmptable.1
151
152snmptest.1: $(srcdir)/snmptest.1.def ../sedscript
153	$(SED) -f ../sedscript < $(srcdir)/snmptest.1.def > snmptest.1
154
155snmptranslate.1: $(srcdir)/snmptranslate.1.def ../sedscript
156	$(SED) -f ../sedscript < $(srcdir)/snmptranslate.1.def > snmptranslate.1
157
158snmptrap.1: $(srcdir)/snmptrap.1.def ../sedscript
159	$(SED) -f ../sedscript < $(srcdir)/snmptrap.1.def > snmptrap.1
160
161snmpusm.1: $(srcdir)/snmpusm.1.def ../sedscript
162	$(SED) -f ../sedscript < $(srcdir)/snmpusm.1.def > snmpusm.1
163
164snmpvacm.1: $(srcdir)/snmpvacm.1.def ../sedscript
165	$(SED) -f ../sedscript < $(srcdir)/snmpvacm.1.def > snmpvacm.1
166
167mib2c.1: $(srcdir)/mib2c.1.def ../sedscript
168	$(SED) -f ../sedscript < $(srcdir)/mib2c.1.def > mib2c.1
169
170mib2c-update.1: $(srcdir)/mib2c-update.1.def ../sedscript
171	$(SED) -f ../sedscript < $(srcdir)/mib2c-update.1.def > mib2c-update.1
172
173snmpwalk.1: $(srcdir)/snmpwalk.1.def ../sedscript
174	$(SED) -f ../sedscript < $(srcdir)/snmpwalk.1.def > snmpwalk.1
175
176encode_keychange.1: $(srcdir)/encode_keychange.1.def ../sedscript
177	$(SED) -f ../sedscript < $(srcdir)/encode_keychange.1.def > encode_keychange.1
178
179fixproc.1: $(srcdir)/fixproc.1.def ../sedscript
180	$(SED) -f ../sedscript < $(srcdir)/fixproc.1.def > fixproc.1
181
182net-snmp-config.1: $(srcdir)/net-snmp-config.1.def ../sedscript
183	$(SED) -f ../sedscript < $(srcdir)/net-snmp-config.1.def > net-snmp-config.1
184
185net-snmp-create-v3-user.1: $(srcdir)/net-snmp-create-v3-user.1.def ../sedscript
186	$(SED) -f ../sedscript < $(srcdir)/net-snmp-create-v3-user.1.def > net-snmp-create-v3-user.1
187
188tkmib.1: $(srcdir)/tkmib.1.def ../sedscript
189	$(SED) -f ../sedscript < $(srcdir)/tkmib.1.def > $@
190
191traptoemail.1: $(srcdir)/traptoemail.1.def ../sedscript
192	$(SED) -f ../sedscript < $(srcdir)/traptoemail.1.def > $@
193
194netsnmp_varbind_api.3: $(srcdir)/netsnmp_varbind_api.3.def ../sedscript
195	$(SED) -f ../sedscript < $(srcdir)/netsnmp_varbind_api.3.def > $@
196
197netsnmp_pdu_api.3: $(srcdir)/netsnmp_pdu_api.3.def ../sedscript
198	$(SED) -f ../sedscript < $(srcdir)/netsnmp_pdu_api.3.def > $@
199
200netsnmp_session_api.3: $(srcdir)/netsnmp_session_api.3.def ../sedscript
201	$(SED) -f ../sedscript < $(srcdir)/netsnmp_session_api.3.def > $@
202
203netsnmp_mib_api.3: $(srcdir)/netsnmp_mib_api.3.def ../sedscript
204	$(SED) -f ../sedscript < $(srcdir)/netsnmp_mib_api.3.def > $@
205
206netsnmp_config_api.3: $(srcdir)/netsnmp_config_api.3.def ../sedscript
207	$(SED) -f ../sedscript < $(srcdir)/netsnmp_config_api.3.def > $@
208
209snmp_alarm.3: $(srcdir)/snmp_alarm.3.def ../sedscript
210	$(SED) -f ../sedscript < $(srcdir)/snmp_alarm.3.def > $@
211
212netsnmp_sess_api.3: $(srcdir)/netsnmp_sess_api.3.def ../sedscript
213	$(SED) -f ../sedscript < $(srcdir)/netsnmp_sess_api.3.def > $@
214
215netsnmp_agent_api.3: $(srcdir)/netsnmp_agent_api.3.def ../sedscript
216	$(SED) -f ../sedscript < $(srcdir)/netsnmp_agent_api.3.def > $@
217
218netsnmp_trap_api.3: $(srcdir)/netsnmp_trap_api.3.def ../sedscript
219	$(SED) -f ../sedscript < $(srcdir)/netsnmp_trap_api.3.def > $@
220
221snmp.conf.5: $(srcdir)/snmp.conf.5.def ../sedscript
222	$(SED) -f ../sedscript < $(srcdir)/snmp.conf.5.def > $@
223
224snmp_config.5: $(srcdir)/snmp_config.5.def ../sedscript
225	$(SED) -f ../sedscript < $(srcdir)/snmp_config.5.def > $@
226
227snmpd.conf.5: $(srcdir)/snmpd.conf.5.def ../sedscript
228	$(SED) -f ../sedscript < $(srcdir)/snmpd.conf.5.def > $@
229
230snmpd.examples.5: $(srcdir)/snmpd.examples.5.def ../sedscript
231	$(SED) -f ../sedscript < $(srcdir)/snmpd.examples.5.def > $@
232
233snmpd.internal.5: $(srcdir)/snmpd.internal.5.def ../sedscript
234	$(SED) -f ../sedscript < $(srcdir)/snmpd.internal.5.def > $@
235
236snmptrapd.conf.5: $(srcdir)/snmptrapd.conf.5.def ../sedscript
237	$(SED) -f ../sedscript < $(srcdir)/snmptrapd.conf.5.def > $@
238
239variables.5: $(srcdir)/variables.5.def ../sedscript
240	$(SED) -f ../sedscript < $(srcdir)/variables.5.def > $@
241
242snmptrapd.8: $(srcdir)/snmptrapd.8.def ../sedscript
243	$(SED) -f ../sedscript < $(srcdir)/snmptrapd.8.def > $@
244
245default_store.3.h: $(srcdir)/../include/net-snmp/library/default_store.h
246	awk '{ if ($$0 == "     * begin storage definitions ") { p = 1 } else if ($$0 == "     * end storage definitions ") { p = 0 } else if (p) { print $$0}}' < $(srcdir)/../include/net-snmp/library/default_store.h > default_store.3.h
247
248default_store.3: $(srcdir)/default_store.3.top default_store.3.h $(srcdir)/default_store.3.bot
249	$(SED) -f ../sedscript < $(srcdir)/default_store.3.top > default_store.3
250	cat default_store.3.h $(srcdir)/default_store.3.bot >> default_store.3
251
252mib2c.conf.5: $(top_srcdir)/local/mib2c mib2c.conf.5.in $(srcdir)/mib2c.extract.pl
253	@if test "x$(PERL)" != "x" ; then \
254		$(PERL) $(srcdir)/mib2c.extract.pl $(top_srcdir)/local/mib2c $(srcdir)/mib2c.conf.5.in > mib2c.conf.5; \
255	else \
256	  touch mib2c.conf.5 ; \
257	fi
258
259maninstall:  maninstalldirs $(MAN1) $(MAN1G) $(MAN3) $(MAN3_API) $(MAN3G) $(MAN5G) $(MAN8G) $(MANALIASES)
260	@for i in $(MAN1) ; do $(INSTALL_DATA) $(srcdir)/`basename $$i` $(INSTALL_PREFIX)$(man1dir) ; echo "install:  installed $$i in $(INSTALL_PREFIX)$(man1dir)" ; done
261	@$(INSTALL_DATA) $(MAN1G) $(INSTALL_PREFIX)$(man1dir)
262	@for i in $(MAN1G) ; do echo "install:  installed $$i in $(INSTALL_PREFIX)$(man1dir)" ; done
263	#EMPTY LIST#@for i in $(MAN3) ; do $(INSTALL_DATA) $(srcdir)/$$i $(INSTALL_PREFIX)$(man3dir) ; echo "install:  installed $$i in $(INSTALL_PREFIX)$(man3dir)" ; done
264	@$(INSTALL_DATA) $(MAN3G) $(INSTALL_PREFIX)$(man3dir)
265	@for i in $(MAN3G) ; do echo "install:  installed $$i in $(INSTALL_PREFIX)$(man3dir)" ; done
266	@$(INSTALL_DATA) $(MANALIASES) $(INSTALL_PREFIX)$(man3dir)
267	@for i in $(MANALIASES) ; do echo "install:  installed $$i in $(INSTALL_PREFIX)$(man3dir)" ; done
268	-@$(INSTALL_DATA) $(MAN5G) $(INSTALL_PREFIX)$(man5dir)
269	@for i in $(MAN5G) ; do echo "install:  installed $$i in $(INSTALL_PREFIX)$(man5dir)" ; done
270	@$(INSTALL_DATA) $(MAN8G) $(INSTALL_PREFIX)$(man8dir)
271	@for i in $(MAN8G) ; do echo "install:  installed $$i in $(INSTALL_PREFIX)$(man8dir)" ; done
272
273manuninstall:
274	@for i in $(MAN1G) $(MAN1) ; do rm -f $(INSTALL_PREFIX)$(man1dir)/$$i ; echo "removed $$i from $(INSTALL_PREFIX)$(man1dir)" ; done
275	@for i in $(MAN3G) $(MAN3) $(MANALIASES); do rm -f $(INSTALL_PREFIX)$(man3dir)/$$i ; echo "removed $$i from $(INSTALL_PREFIX)$(man3dir)" ; done
276	@for i in $(MAN5G) ; do rm -f $(INSTALL_PREFIX)$(man5dir)/$$i ; echo "removed $$i from $(INSTALL_PREFIX)$(man5dir)" ; done
277	@for i in $(MAN8G) ; do rm -f $(INSTALL_PREFIX)$(man8dir)/$$i ; echo "removed $$i from $(INSTALL_PREFIX)$(man8dir)" ; done
278
279maninstalldirs:
280	@$(SHELL) $(srcdir)/../mkinstalldirs $(INSTALL_PREFIX)$(man1dir) $(INSTALL_PREFIX)$(man3dir) $(INSTALL_PREFIX)$(man5dir) $(INSTALL_PREFIX)$(man8dir)
281
282
283#
284# internal administrative
285#
286html: $(MANALL)
287	for i in $(MANALL); do \
288#	   if test `wc -l $$i | awk '{print $$1}'` != 1 ; then \
289		   base=`echo $$i | sed 's/.[0-9]$$//;'` ; \
290		   echo "<HTML><BODY bgcolor=\"#ffffff\" background=\"../ucd-snmp-bg3.gif\"><PRE>" > $$base.html; \
291		   man2html -r ./$$i | $(PERL) -p -e 's/HREF=\"..\/man.\//HREF=\"/g;s/\.[1-9]\.html/.html/g;' | grep -v 'Content-type:' >> $$base.html; \
292		   a="$$a $$i"; \
293#	   fi ; \
294	done ;\
295	$(PERL) make_index.pl man_sections.txt $$a > index.html
296