diff options
Diffstat (limited to 'Makefile.in')
-rw-r--r-- | Makefile.in | 459 |
1 files changed, 459 insertions, 0 deletions
diff --git a/Makefile.in b/Makefile.in new file mode 100644 index 0000000..4d00168 --- /dev/null +++ b/Makefile.in @@ -0,0 +1,459 @@ + +# +# Makefile.in (at the root of net-snmp) +# + +top_builddir = . +VPATH = @srcdir@ + +SUBDIRS = snmplib @MAINSUBS@ +FTSUBDIRS = @FTMAINSUBS@ snmplib +TESTDIRS = testing + +CPP = @CPP@ \ + -Iinclude -I$(srcdir)/include -I$(srcdir)/agent/mibgroup -I. -I$(srcdir) \ + -DDONT_INC_STRUCTS -DBINDIR=$(bindir) \ + $(EXTRACPPFLAGS) + +INSTALLHEADERS=version.h net-snmp-features.h +INCLUDESUBDIR=system +INCLUDESUBDIRHEADERS= aix.h bsd.h bsdi3.h bsdi4.h bsdi.h cygwin.h \ + darwin.h darwin7.h darwin8.h darwin9.h darwin10.h dragonfly.h dynix.h \ + freebsd2.h freebsd3.h freebsd4.h freebsd5.h freebsd6.h \ + freebsd7.h freebsd8.h freebsd9.h freebsd10.h freebsd.h \ + generic.h \ + hpux.h irix.h linux.h mingw32.h mips.h netbsd.h osf5.h \ + openbsd.h openbsd5.h openbsd4.h \ + solaris2.3.h solaris2.4.h solaris2.5.h solaris2.6.h \ + solaris.h sunos.h svr5.h sysv.h ultrix4.h +INCLUDESUBDIR2=machine +INCLUDESUBDIRHEADERS2=generic.h +INSTALLBUILTHEADERS=include/net-snmp/net-snmp-config.h +INSTALLBUILTINCLUDEHEADERS=@FEATUREHEADERS@ +INSTALLBINSCRIPTS=net-snmp-config net-snmp-create-v3-user +INSTALLUCDHEADERS=ucd-snmp-config.h version.h mib_module_config.h + +# +# other install rules. +# +OTHERINSTALL=copypersistentfiles @PERLINSTALLTARGS@ @PYTHONINSTALLTARGS@ +OTHERUNINSTALL=@PERLUNINSTALLTARGS@ @PYTHONUNINSTALLTARGS@ +COPY_PERSISTENT_FILES=@COPY_PERSISTENT_FILES@ +PERSISTENT_DIRECTORY=@PERSISTENT_DIRECTORY@ +UCDPERSISTENT_DIRECTORY=@UCDPERSISTENT_DIRECTORY@ + +# +# perl specific +# +# yes, order matters here. default_store must occur before anything else +PERLMODULES=default_store SNMP ASN OID agent TrapReceiver +PERLMODULEFTS=perl/default_store/netsnmp-feature-definitions.ft \ + perl/SNMP/netsnmp-feature-definitions.ft \ + perl/ASN/netsnmp-feature-definitions.ft \ + perl/OID/netsnmp-feature-definitions.ft \ + perl/agent/netsnmp-feature-definitions.ft \ + perl/TrapReceiver/netsnmp-feature-definitions.ft +PERLARGS=@PERLARGS@ + +# +# python specific +# +PYTHONARGS=@PYTHONARGS@ +PYTHONMODULEFTS=python/netsnmp/netsnmp-feature-definitions.ft + +# +# libtool +# +LIBTOOL_DEPS = @LIBTOOL_DEPS@ + +# +# feature checks for optional components +# +FTOTHERTARGS=@PERLFEATURES@ @PYTHONFEATURES@ + +# +# targets +# +all: sedscript EXAMPLE.conf @FEATURETARGS@ standardall net-snmp-config-x net-snmp-create-v3-user @PERLTARGS@ @PYTHONTARGS@ + +start-flag: + @touch build-in-progress-flag + +end-flag: + @rm -f build-in-progress-flag > /dev/null 2>&1 + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck + + +snmplib: @FEATURETARGS@ + @(cd snmplib; $(MAKE) ) + +agent: @FEATURETARGS@ + @(cd snmplib; $(MAKE) ) + @(cd agent; $(MAKE) ) + +apps: @FEATURETARGS@ + @(cd snmplib; $(MAKE) ) + @(cd agent; $(MAKE) libs) + @(cd apps; $(MAKE) ) + +snmpget snmpbulkget snmpwalk snmpbulkwalk snmptranslate snmpstatus snmpdelta snmptable snmptest snmpset snmpusm snmpvacm snmpgetnext encode_keychange snmpdf snmptrap snmptls: @FEATURETARGS@ + @(cd snmplib; $(MAKE) ) + @(cd apps; $(MAKE) $@ ) + +agentxtrap snmptrapd: @FEATURETARGS@ + @(cd snmplib; $(MAKE) ) + @(cd agent; $(MAKE) libs) + @(cd apps; $(MAKE) $@ ) + +# +# local build rules +# +sedscript: sedscript.in include/net-snmp/net-snmp-config.h $(srcdir)/agent/mibgroup/mibdefs.h + $(CPP) $(srcdir)/sedscript.in | egrep '^s[/#]' | sed 's/REMOVEME//g;s# */#/#g;s/ *#/#/g;s#/ *#/#g;s/# g/#g/;' > sedscript + echo 's/VERSIONINFO/$(VERSION)/g' >> sedscript + echo 's#DATADIR#$(datadir)#g' >> sedscript + echo 's#LIBDIR#$(libdir)#g' >> sedscript + echo 's#BINDIR#$(bindir)#g' >> sedscript + echo 's#PERSISTENT_DIRECTORY#$(PERSISTENT_DIRECTORY)#g' >> sedscript + echo 's#SYSCONFDIR#@sysconfdir@#g' >> sedscript + +EXAMPLE.conf: sedscript EXAMPLE.conf.def + $(SED) -f sedscript $(srcdir)/EXAMPLE.conf.def > EXAMPLE.conf + +docs: docsdir + +docsdir: docsdox + +docsdox: doxygen.conf + srcdir=$(srcdir) VERSION=$(VERSION) doxygen $(srcdir)/doxygen.conf + +net-snmp-config-x: net-snmp-config + chmod a+x net-snmp-config + touch net-snmp-config-x + +net-snmp-create-v3-user-x: net-snmp-create-v3-user + chmod a+x net-snmp-create-v3-user + touch net-snmp-create-v3-user-x + +# +# extra install rules +# + +copypersistentfiles: + @if test "$(COPY_PERSISTENT_FILES)" = "yes" -a -d $(UCDPERSISTENT_DIRECTORY) -a ! -d $(PERSISTENT_DIRECTORY) ; then \ + cp -pr $(UCDPERSISTENT_DIRECTORY) $(PERSISTENT_DIRECTORY) ; \ + echo "copying $(UCDPERSISTENT_DIRECTORY) to $(PERSISTENT_DIRECTORY)" ; \ + fi +# +# test targets +# +test test-mibs testall testfailed testsimple: all testdirs + ( cd testing; $(MAKE) $@ ) + +testdirs: + for i in $(TESTDIRS) ; do \ + ( cd $$i ; $(MAKE) ) ; \ + if test $$? != 0 ; then \ + exit 1 ; \ + fi \ + done + +distall: ${srcdir}/configure ${srcdir}/include/net-snmp/net-snmp-config.h + +OTHERCLEANTARGETS=EXAMPLE.conf sedscript +OTHERCLEANTODOS=perlclean @PYTHONCLEANTARGS@ cleanfeatures perlcleanfeatures pythoncleanfeatures + +# +# perl specific build rules +# +# override LD_RUN_PATH to avoid dependencies on the build directory +perlmodules: perlmakefiles subdirs + @(cd perl ; $(MAKE) LD_RUN_PATH="$(libdir):`$(PERL) -e 'use Config; print qq($$Config{archlibexp}/CORE);'`") ; \ + if test $$? != 0 ; then \ + exit 1 ; \ + fi + +perlmakefiles: net-snmp-config-x + @if test ! -f perl/Makefile; then \ + (dir=`pwd`; \ + cd perl ; \ + $(PERL) Makefile.PL -NET-SNMP-IN-SOURCE=true -NET-SNMP-CONFIG="sh $$dir/net-snmp-config" $(PERLARGS) ) ; \ + fi + +perlinstall: + @(cd perl ; $(MAKE) install) ; \ + if test $$? != 0 ; then \ + exit 1 ; \ + fi + +perluninstall: + @(cd perl ; $(MAKE) uninstall) ; \ + if test $$? != 0 ; then \ + exit 1 ; \ + fi + +perltest: + @(cd perl ; $(MAKE) test) ; \ + if test $$? != 0 ; then \ + exit 1 ; \ + fi + +perlclean: + @if test -f perl/Makefile; then \ + ( cd perl ; $(MAKE) clean ) ; \ + fi + +perlrealclean: + @if test -f perl/Makefile; then \ + ( cd perl ; $(MAKE) realclean ) ; \ + fi + +.h.ft: + $(FEATURECHECK) --feature-global $(top_builddir)/include/net-snmp/feature-details.h `dirname $<` $< $@ $(CC) -I $(top_builddir)/include -I $(top_srcdir)/include -E $(CPPFLAGS) $(CFLAGS) -c + +perlfeatures: $(PERLMODULEFTS) + +perlcleanfeatures: + $(RM) $(PERLMODULEFTS) + + +# python specific build rules +# +PYMAKE=$(PYTHON) setup.py $(PYTHONARGS) +pythonmodules: subdirs + @(dir=`pwd`; cd python; $(PYMAKE) build --basedir=$$dir) ; \ + if test $$? != 0 ; then \ + exit 1 ; \ + fi + +pythoninstall: + @(dir=`pwd`; cd python; $(PYMAKE) install --basedir=$$dir) ; \ + if test $$? != 0 ; then \ + exit 1 ; \ + fi + +pythonuninstall: + echo "WARNING: python doesn't support uninstall" + +pythontest: + @(dir=`pwd`; cd python; $(PYMAKE) test --basedir=$$dir) ; \ + if test $$? != 0 ; then \ + exit 1 ; \ + fi + +pythonclean: + @(dir=`pwd`; cd python; $(PYMAKE) clean --basedir=$$dir) + +pythonfeatures: $(PYTHONMODULEFTS) + +pythoncleanfeatures: + $(RM) $(PYTHONMODULEFTS) + +# +# make distclean completely removes all traces of building including +# any files generated by configure itself. +# +distclean: perlrealclean clean configclean tarclean + +makefileclean: + rm -f Makefile snmplib/Makefile \ + agent/Makefile agent/mibgroup/Makefile \ + agent/helpers/Makefile \ + apps/Makefile apps/snmpnetstat/Makefile \ + man/Makefile mibs/Makefile ov/Makefile \ + local/Makefile testing/Makefile + +configclean: makefileclean + rm -f config.cache config.status config.log \ + libtool include/net-snmp/net-snmp-config.h \ + net-snmp-config net-snmp-config-x configure-summary \ + net-snmp-create-v3-user net-snmp-create-v3-user-x + rm -f mibs/.index + rm -f include/net-snmp/agent/mib_module_config.h \ + include/net-snmp/agent/agent_module_config.h \ + include/net-snmp/library/snmpv3-security-includes.h \ + include/net-snmp/feature-details.h \ + snmplib/snmpsm_init.h snmplib/snmpsm_shutdown.h \ + snmplib/transports/snmp_transport_inits.h \ + agent/mibgroup/agent_module_includes.h \ + agent/mibgroup/agent_module_inits.h \ + agent/mibgroup/agent_module_shutdown.h \ + agent/mibgroup/agent_module_dot_conf.h \ + agent/mibgroup/mib_module_includes.h \ + agent/mibgroup/mib_module_inits.h \ + agent/mibgroup/mib_module_shutdown.h \ + agent/mibgroup/mib_module_dot_conf.h + rm -rf mk + rm -f *.core + +# +# Configure script related targets +# +touchit: + touch configure include/net-snmp/net-snmp-config.h.in + touch config.status + touch stamp-h stamp-h.in + +Makefile: Makefile.in config.status Makefile.rules Makefile.top + @if test "x$(NOAUTODEPS)" = "x"; then \ + echo "running config.status because the following file(s) changed:"; \ + echo " $?"; \ + ./config.status; \ + else \ + echo "WARNING: not running config.status"; \ + fi + +configure_ac = configure.ac \ + configure.d/config_modules_agent \ + configure.d/config_modules_lib \ + configure.d/config_os_functions \ + configure.d/config_os_headers \ + configure.d/config_os_libs1 \ + configure.d/config_os_libs2 \ + configure.d/config_os_misc1 \ + configure.d/config_os_misc2 \ + configure.d/config_os_misc3 \ + configure.d/config_os_misc4 \ + configure.d/config_os_progs \ + configure.d/config_os_struct_members \ + configure.d/config_project_ipv6_types \ + configure.d/config_project_manual \ + configure.d/config_project_paths \ + configure.d/config_project_perl_python \ + configure.d/config_project_types \ + configure.d/config_project_with_enable + +$(srcdir)/include/net-snmp/net-snmp-config.h.in: stamp-h.in +$(srcdir)/stamp-h.in: $(configure_ac) acconfig.h + @if test "x$(NOAUTODEPS)" = "x" -a "x$(AUTOHEADER)" != "x:"; then \ + cd ${srcdir} && LC_COLLATE=C $(AUTOHEADER); \ + echo timestamp > ${srcdir}/stamp-h.in; \ + else \ + echo "WARNING: not running autoheader"; \ + fi + +include/net-snmp/net-snmp-config.h: stamp-h +stamp-h: include/net-snmp/net-snmp-config.h.in config.status + @if test "x$(NOAUTODEPS)" = "x"; then \ + echo "running config.status because the following file(s) changed:"; \ + echo " $?"; \ + ./config.status; \ + echo timestamp > stamp-h; \ + else \ + echo "WARNING: not running config.status"; \ + fi + +$(srcdir)/configure: $(configure_ac) aclocal.m4 + @if test "x$(NOAUTODEPS)" = "x" -a "x$(AUTOCONF)" != "x:"; then \ + cd ${srcdir} && $(AUTOCONF); \ + echo "Please run configure now."; \ + sh -c exit 2; \ + else \ + echo "WARNING: not running autoconf"; \ + fi + +gendir=dist/generation-scripts +generation-scripts: generation-scripts-dirs $(gendir)/gen-transport-headers $(gendir)/gen-security-headers + +$(gendir)/gen-variables: $(gendir)/gen-variables.in + ./config.status + +generation-scripts-dirs: + @if [ ! -d dist ] ; then \ + mkdir dist ; \ + fi + @if [ ! -d dist/generation-scripts ] ; then \ + mkdir dist/generation-scripts ; \ + fi + +$(gendir)/gen-transport-headers: $(gendir)/gen-transport-headers.in $(gendir)/gen-variables + rm -f $@ + autoconf -o $@ $< + chmod a+x $@ + +$(gendir)/gen-security-headers: $(gendir)/gen-security-headers.in $(gendir)/gen-variables + rm -f $@ + autoconf -o $@ $< + chmod a+x $@ + +config.status: configure + @if test "x$(NOAUTODEPS)" = "x"; then \ + echo "running config.status because $? changed"; \ + ./config.status --recheck; \ + else \ + echo "WARNING: not running config.status --recheck"; \ + fi + +# +# Emacs TAGS file +# +TAGS: + $(FIND) $(srcdir) -path $(srcdir)/dist/rpm -prune -o -name '*.[ch]' -print | etags - + +# +# Internal distribution packaging, etc. +# +#tag: +# @if test "x$(VERSION)" = "x"; then \ +# echo "you need to supply a VERSION string."; \ +# exit 2; \ +# fi +# ${srcdir}/agent/mibgroup/versiontag $(VERSION) tag + +tar: + @if test "x$(VERSION)" = "x"; then \ + echo "you need to supply a VERSION string."; \ + exit 2; \ + fi + ${srcdir}/agent/mibgroup/versiontag $(VERSION) tar + +tarclean: + @if test -x ${srcdir}/agent/mibgroup/versiontag ; then \ + ${srcdir}/agent/mibgroup/versiontag Ext clean ; \ + fi + +checks: + $(MAKE) -k makefilecheck commentcheck warningcheck dependcheck \ + assertcheck perlcalloccheck + +dependcheck: + @echo "Checking for full paths in dependency files..." + @if grep -n -E "^/" `$(FIND) $(top_srcdir) -name Makefile.depend`; then false; fi + +warningcheck: + @echo "Checking for cpp warnings..." + @if grep -n "#warning" `$(FIND) $(top_srcdir) -name \*.\[ch\]`; then false; fi + +assertcheck: + @echo "Checking for non-snmp asserts..." + @if grep -n -w "assert" `$(FIND) $(top_srcdir) -name \*.\[ch\] | grep -v snmp_assert.h | egrep -v 'perl/.*c' | grep -v openssl`; then false; fi + +commentcheck: + @echo "Checking for C++ style comments..." + @if grep -n -E "([^:)n]|^)//" `$(FIND) $(top_srcdir) -path './win32' -prune -o -name \*.\[ch\] | grep -v agent/mibgroup/winExtDLL.c`; then false; fi + +makefilecheck: + @echo "Checking for non-portable Makefile constructs..." + @if grep -n "\.c=" `$(FIND) $(top_srcdir) -name .svn -prune -o -path ./Makefile.in -prune -o -name "Makefile.*" -print`; then false; fi + +# Invoking calloc() directly or indirectly from a Perl XSUB and freeing that +# memory by calling free() from the XSUB is a sure way to trigger "Free to +# wrong pool" errors on Windows. +perlcalloccheck: + @echo "Checking for calloc() in Perl's external subroutines ..." + @if grep -nwE 'calloc|SNMP_MALLOC_STRUCT|SNMP_MALLOC_TYPEDEF' `$(FIND) $(top_srcdir) -name '*.xs'`; then false; fi + +dist: tar + +FAQ.html: + local/FAQ2HTML FAQ + +.PHONY: docs docsdir mancp testdirs test TAGS +# note: tags and docs are phony to force rebulding +.PHONY: snmplib agent apps \ + snmpget snmpbulkget snmpwalk snmpbulkwalk snmptranslate snmpstatus \ + snmpdelta snmptable snmptest snmpset snmpusm snmpvacm snmpgetnext \ + encode_keychange snmpdf snmptrap snmptrapd +.PHONY: perlfeatures pythonfeatures |