# # Makefile for snmpget, snmpwalk, snmpbulkwalk, snmptest, snmptranslate, # snmptrapd, snmptable, snmpset, snmpgetnext, and other utilities. # mysubdir=apps # use GNU vpath, if available, to only set a path for source and headers # VPATH will pick up objects too, which is bad if you are sharing a # source dir... @GNU_vpath@ %.h $(srcdir) @GNU_vpath@ %.c $(srcdir) # fallback to regular VPATH for non-gnu... @NON_GNU_VPATH@ $(srcdir) # # Things to install # @NETSNMP_BUILD_SSH_PROG_TRUE@SSHINSTALLBINPROG = sshtosnmp$(EXEEXT) @NETSNMP_BUILD_SSH_PROG_FALSE@SSHINSTALLBINPROG = @NETSNMP_BUILD_SSH_PROG_TRUE@SSHFEATUREPROG = sshtosnmp.ft @NETSNMP_BUILD_SSH_PROG_FALSE@SSHFEATUREPROG = @NETSNMP_BUILD_TLS_PROG_TRUE@TLSINSTALLBINPROG = snmptls$(EXEEXT) @NETSNMP_BUILD_TLS_PROG_FALSE@TLSINSTALLBINPROG = @NETSNMP_BUILD_TLS_PROG_TRUE@TLSFEATUREPROG = snmptls.ft @NETSNMP_BUILD_TLS_PROG_FALSE@TLSFEATUREPROG = @NETSNMP_BUILD_USM_PROG_TRUE@USMINSTALLBINPROG = snmpusm$(EXEEXT) @NETSNMP_BUILD_USM_PROG_FALSE@USMINSTALLBINPROG = @NETSNMP_BUILD_USM_PROG_TRUE@USMFEATUREPROG = snmpusm.ft @NETSNMP_BUILD_USM_PROG_FALSE@USMFEATUREPROG = @NETSNMP_BUILD_USM_PROG_TRUE@EKCSTALLBINPROG = encode_keychange$(EXEEXT) @NETSNMP_BUILD_USM_PROG_FALSE@EKCSTALLBINPROG = @NETSNMP_BUILD_USM_PROG_TRUE@EKCFEATUREPROG = encode_keychange.ft @NETSNMP_BUILD_USM_PROG_FALSE@EKCFEATUREPROG = @NETSNMP_BUILD_SET_PROG_TRUE@SNMPSETINSTALLBINPROG = snmpset$(EXEEXT) @NETSNMP_BUILD_SET_PROG_FALSE@SNMPSETINSTALLBINPROG = @NETSNMP_BUILD_SET_PROG_TRUE@SNMPSETFEATUREPROG = snmpset.ft @NETSNMP_BUILD_SET_PROG_FALSE@SNMPSETFEATUREPROG = @NETSNMP_BUILD_SET_PROG_TRUE@SNMPVACMINSTALLBINPROG = snmpvacm$(EXEEXT) @NETSNMP_BUILD_SET_PROG_FALSE@SNMPVACMINSTALLBINPROG = @NETSNMP_BUILD_SET_PROG_TRUE@SNMPVACMFEATUREPROG = snmpvacm.ft @NETSNMP_BUILD_SET_PROG_FALSE@SNMPVACMFEATUREPROG = @NETSNMP_BUILD_SET_PROG_TRUE@SNMPPINGINSTALLBINPROG = snmpping$(EXEEXT) @NETSNMP_BUILD_SET_PROG_FALSE@SNMPPINGINSTALLBINPROG = @NETSNMP_BUILD_SET_PROG_TRUE@SNMPPINGFEATUREPROG = snmpping.ft @NETSNMP_BUILD_SET_PROG_FALSE@SNMPPINGFEATUREPROG = @NETSNMP_BUILD_PCAP_PROG_TRUE@SNMPPCAPINSTALLBINPROG = snmppcap$(EXEEXT) @NETSNMP_BUILD_PCAP_PROG_FALSE@SNMPPCAPINSTALLBINPROG = @NETSNMP_BUILD_PCAP_PROG_TRUE@SNMPPCAPFEATUREPROG = snmppcap.ft @NETSNMP_BUILD_PCAP_PROG_FALSE@SNMPPCAPFEATUREPROG = @NETSNMP_HAVE_AGENTX_LIBS_TRUE@AGENTXTRAP = agentxtrap$(EXEEXT) @NETSNMP_HAVE_AGENTX_LIBS_FALSE@AGENTXTRAP = INSTALLBINPROGS = snmpget$(EXEEXT) \ snmpgetnext$(EXEEXT) \ $(SNMPSETINSTALLBINPROG) \ snmpwalk$(EXEEXT) \ snmpbulkwalk$(EXEEXT) \ snmptable$(EXEEXT) \ snmptrap$(EXEEXT) \ snmpbulkget$(EXEEXT) \ snmptranslate$(EXEEXT) \ snmpstatus$(EXEEXT) \ snmpdelta$(EXEEXT) \ snmptest$(EXEEXT) \ snmpdf$(EXEEXT) \ snmpps$(EXEEXT) \ $(SNMPPINGINSTALLBINPROG) \ $(AGENTXTRAP) \ $(SNMPVACMINSTALLBINPROG) \ $(SSHINSTALLBINPROG) $(TLSINSTALLBINPROG) \ $(USMINSTALLBINPROG) $(EKCSTALLBINPROG) \ $(SNMPPCAPINSTALLBINPROG) INSTALLSBINPROGS = snmptrapd$(EXEEXT) INSTALLLIBS = libnetsnmptrapd.$(LIB_EXTENSION)$(LIB_VERSION) SUBDIRS = snmpnetstat FEATUREFILE=../include/net-snmp/features-apps.h # # build variables. # # USELIBS/USEAGENTLIBS are for dependencies USELIBS = ../snmplib/libnetsnmp.$(LIB_EXTENSION)$(LIB_VERSION) AGENTLIB = ../agent/libnetsnmpagent.$(LIB_EXTENSION)$(LIB_VERSION) MIBLIB = ../agent/libnetsnmpmibs.$(LIB_EXTENSION)$(LIB_VERSION) USEAGENTLIBS = $(MIBLIB) $(AGENTLIB) $(USELIBS) MYSQL_LIBS = @MYSQL_LIBS@ MYSQL_INCLUDES = @MYSQL_INCLUDES@ VAL_LIBS = @VAL_LIBS@ LIBS = $(USELIBS) $(VAL_LIBS) @LIBS@ PERLLDOPTS_FOR_APPS = @PERLLDOPTS_FOR_APPS@ PERLLDOPTS_FOR_LIBS = @PERLLDOPTS_FOR_LIBS@ # # hack for compiling trapd when agent is disabled TRAPDWITHAGENT = $(USETRAPLIBS) $(MYSQL_LIBS) $(VAL_LIBS) @AGENTLIBS@ TRAPDWITHOUTAGENT = $(LIBS) $(MYSQL_LIBS) $(VAL_LIBS) # these will be set by configure to one of the above 2 lines TRAPLIBS = @TRAPLIBS@ $(PERLLDOPTS_FOR_APPS) USETRAPLIBS = @USETRAPLIBS@ CPPFLAGS = $(TOP_INCLUDES) -I. $(AGENT_INCLUDES) $(HELPER_INCLUDES) \ $(MIBGROUP_INCLUDES) \ $(SNMPLIB_INCLUDES) $(MYSQL_INCLUDES) @CPPFLAGS@ OSUFFIX = lo TRAPD_OBJECTS = snmptrapd.$(OSUFFIX) @other_trapd_objects@ LIBTRAPD_OBJS = snmptrapd_handlers.o snmptrapd_log.o \ snmptrapd_auth.o snmptrapd_sql.o LLIBTRAPD_OBJS = snmptrapd_handlers.lo snmptrapd_log.lo \ snmptrapd_auth.lo snmptrapd_sql.lo LIBTRAPD_FTS = snmptrapd_handlers.ft snmptrapd_log.ft \ snmptrapd_auth.ft snmptrapd_sql.ft OBJS = *.o LOBJS = *.lo FTOBJS=$(LIBTRAPD_FTS) \ snmpwalk.ft \ snmpbulkwalk.ft \ snmpbulkget.ft \ snmptranslate.ft \ snmpstatus.ft \ snmpget.ft \ snmpdelta.ft \ snmptable.ft \ snmptest.ft \ snmptrapd.ft \ snmptrap.ft \ $(SNMPSETFEATUREPROG) \ $(SNMPVACMFEATUREPROG) \ $(SNMPPINGFEATUREPROG) \ $(SNMPPCAPFEATUREPROG) \ $(USMFEATUREPROG) \ $(TLSFEATUREPROG) \ agentxtrap.ft \ snmpgetnext.ft \ $(EKCFEATUREPROG) \ snmpdf.ft \ snmpps.ft \ $(SSHFEATUREPROG) all: standardall OTHERINSTALL=snmpinforminstall snmptopinstall snmptrapdperlinstall OTHERUNINSTALL=snmpinformuninstall snmptopuninstall snmptrapdperluninstall # # build rules # snmpwalk$(EXEEXT): snmpwalk.$(OSUFFIX) $(USELIBS) $(LINK) ${CFLAGS} -o $@ -pie snmpwalk.$(OSUFFIX) ${LDFLAGS} ${LIBS} snmpbulkwalk$(EXEEXT): snmpbulkwalk.$(OSUFFIX) $(USELIBS) $(LINK) ${CFLAGS} -o $@ -pie snmpbulkwalk.$(OSUFFIX) ${LDFLAGS} ${LIBS} snmpbulkget$(EXEEXT): snmpbulkget.$(OSUFFIX) $(USELIBS) $(LINK) ${CFLAGS} -o $@ -pie snmpbulkget.$(OSUFFIX) ${LDFLAGS} ${LIBS} snmptranslate$(EXEEXT): snmptranslate.$(OSUFFIX) $(USELIBS) $(LINK) ${CFLAGS} -o $@ -pie snmptranslate.$(OSUFFIX) ${LDFLAGS} ${LIBS} snmpstatus$(EXEEXT): snmpstatus.$(OSUFFIX) $(USELIBS) $(LINK) ${CFLAGS} -o $@ -pie snmpstatus.$(OSUFFIX) ${LDFLAGS} ${LIBS} snmpget$(EXEEXT): snmpget.$(OSUFFIX) $(USELIBS) $(LINK) ${CFLAGS} -o $@ -pie snmpget.$(OSUFFIX) ${LDFLAGS} ${LIBS} snmpdelta$(EXEEXT): snmpdelta.$(OSUFFIX) $(USELIBS) $(LINK) ${CFLAGS} -o $@ -pie snmpdelta.$(OSUFFIX) ${LDFLAGS} ${LIBS} snmptable$(EXEEXT): snmptable.$(OSUFFIX) $(USELIBS) $(LINK) ${CFLAGS} -o $@ -pie snmptable.$(OSUFFIX) ${LDFLAGS} ${LIBS} snmptest$(EXEEXT): snmptest.$(OSUFFIX) $(USELIBS) $(LINK) ${CFLAGS} -o $@ -pie snmptest.$(OSUFFIX) ${LDFLAGS} ${LIBS} snmptrapd$(EXEEXT): $(TRAPD_OBJECTS) $(USETRAPLIBS) $(INSTALLLIBS) $(LINK) ${CFLAGS} -o $@ -pie $(TRAPD_OBJECTS) $(INSTALLLIBS) ${LDFLAGS} ${TRAPLIBS} snmptrap$(EXEEXT): snmptrap.$(OSUFFIX) $(USELIBS) $(LINK) ${CFLAGS} -o $@ -pie snmptrap.$(OSUFFIX) ${LDFLAGS} ${LIBS} snmpinform$(EXEEXT): snmptrap$(EXEEXT) rm -f snmpinform $(LN_S) snmptrap$(EXEEXT) snmpinform$(EXEEXT) snmptop$(EXEEXT): snmpps$(EXEEXT) rm -f snmptop $(LN_S) snmpps$(EXEEXT) snmptop$(EXEEXT) snmpset$(EXEEXT): snmpset.$(OSUFFIX) $(USELIBS) $(LINK) ${CFLAGS} -o $@ -pie snmpset.$(OSUFFIX) ${LDFLAGS} ${LIBS} snmpusm$(EXEEXT): snmpusm.$(OSUFFIX) $(USELIBS) $(LINK) ${CFLAGS} -o $@ -pie snmpusm.$(OSUFFIX) ${LDFLAGS} ${LIBS} snmpvacm$(EXEEXT): snmpvacm.$(OSUFFIX) $(USELIBS) $(LINK) ${CFLAGS} -o $@ -pie snmpvacm.$(OSUFFIX) ${LDFLAGS} ${LIBS} snmptls$(EXEEXT): snmptls.$(OSUFFIX) $(USELIBS) $(LINK) ${CFLAGS} -o $@ -pie snmptls.$(OSUFFIX) ${LDFLAGS} ${LIBS} agentxtrap$(EXEEXT): agentxtrap.$(OSUFFIX) $(USEAGENTLIBS) $(LINK) ${CFLAGS} -o $@ agentxtrap.$(OSUFFIX) ${LDFLAGS} $(USEAGENTLIBS) $(PERLLDOPTS_FOR_APPS) ${LIBS} snmpgetnext$(EXEEXT): snmpgetnext.$(OSUFFIX) $(USELIBS) $(LINK) ${CFLAGS} -o $@ -pie snmpgetnext.$(OSUFFIX) ${LDFLAGS} ${LIBS} encode_keychange$(EXEEXT): encode_keychange.$(OSUFFIX) $(USELIBS) $(LINK) ${CFLAGS} -o $@ -pie encode_keychange.$(OSUFFIX) ${LDFLAGS} ${LIBS} snmpdf$(EXEEXT): snmpdf.$(OSUFFIX) $(USELIBS) $(LINK) ${CFLAGS} -o $@ -pie snmpdf.$(OSUFFIX) ${LDFLAGS} ${LIBS} snmpps$(EXEEXT): snmpps.$(OSUFFIX) $(USELIBS) $(LINK) ${CFLAGS} -o $@ -pie snmpps.$(OSUFFIX) ${LDFLAGS} @LIBCURSES@ ${LIBS} snmpping$(EXEEXT): snmpping.$(OSUFFIX) $(USELIBS) $(LINK) ${CFLAGS} -o $@ -pie snmpping.$(OSUFFIX) ${LDFLAGS} ${LIBS} -lm snmppcap$(EXEEXT): snmppcap.$(OSUFFIX) $(USELIBS) $(LINK) ${CFLAGS} -o $@ snmppcap.$(OSUFFIX) ${LDFLAGS} ${LIBS} -lpcap libnetsnmptrapd.$(LIB_EXTENSION)$(LIB_VERSION): $(LLIBTRAPD_OBJS) $(LIB_LD_CMD) $@ ${LLIBTRAPD_OBJS} $(MIBLIB) $(USELIBS) $(PERLLDOPTS_FOR_LIBS) $(LIB_LD_LIBS) $(MYSQL_LIBS) $(RANLIB) $@ snmpinforminstall: rm -f $(INSTALL_PREFIX)$(bindir)/snmpinform$(EXEEXT) $(LN_S) snmptrap$(EXEEXT) $(INSTALL_PREFIX)$(bindir)/snmpinform$(EXEEXT) snmpinformuninstall: rm -f $(INSTALL_PREFIX)$(bindir)/snmpinform$(EXEEXT) snmptopinstall: rm -f $(INSTALL_PREFIX)$(bindir)/snmptop$(EXEEXT) $(LN_S) snmpps$(EXEEXT) $(INSTALL_PREFIX)$(bindir)/snmptop$(EXEEXT) snmptopuninstall: rm -f $(INSTALL_PREFIX)$(bindir)/snmptop$(EXEEXT) snmptrapdperlinstall: installdirs @$(INSTALL_DATA) $(srcdir)/snmp_perl_trapd.pl $(INSTALL_PREFIX)$(snmplibdir)/snmp_perl_trapd.pl @echo "install: installed snmp_perl_trapd.pl in $(INSTALL_PREFIX)$(snmplibdir)" snmptrapdperluninstall: installdirs @rm -f $(INSTALL_PREFIX)$(snmplibdir)/snmp_perl_trapd.pl @echo "removed snmp_perl_trapd.pl from $(INSTALL_PREFIX)$(snmplibdir)" sshtosnmp$(EXEEXT): sshtosnmp.$(OSUFFIX) $(LINK) ${CFLAGS} -o $@ sshtosnmp.$(OSUFFIX) installdirs: @$(SHELL) $(srcdir)/../mkinstalldirs $(INSTALL_PREFIX)$(snmplibdir)