- SDK=
- LINKTYPE=
- CFG=
- PREFIX=
- PREFIX_DOS=
- PERL=
- NMAKE=nmake /nologo
- all : libs apps snmptrapd snmpd local
- clean : apps_clean libs_clean snmptrapd_clean snmpd_clean local_clean
- !IF "$(SDK)" == "true"
- snmpd : snmpdsdk_
- snmpd_clean : snmpdsdk_clean_
- netsnmpmibs : netsnmpmibssdk_
- netsnmpmibs_clean : netsnmpmibssdk_clean_
- !ELSE
- snmpd : snmpd_
- snmpd_clean : snmpd_clean_
- netsnmpmibs : netsnmpmibs_
- netsnmpmibs_clean : netsnmpmibs_clean_
- !ENDIF
- !IF "$(LINKTYPE)" == "static"
- libsnmp : libsnmp_
- libsnmp_clean : libsnmp_clean_
- !ELSE
- libsnmp : libsnmp_dll_
- libsnmp_clean : libsnmp_dll_clean_
- !ENDIF
- libs : libagent libhelpers libsnmp libnetsnmptrapd netsnmpmibs
- libs_clean : libagent_clean libhelpers_clean libsnmp_clean libnetsnmptrapd_clean netsnmpmibs_clean
- apps : snmpdf snmpset snmpusm snmptest snmptrap snmpvacm snmpwalk snmpdelta snmptable snmpstatus snmpbulkget snmpget snmpgetnext snmpbulkwalk snmptranslate encode_keychange snmpnetstat
- apps_clean : snmpdf_clean snmpset_clean snmpusm_clean snmptest_clean snmptrap_clean snmpvacm_clean snmpwalk_clean snmpdelta_clean snmptable_clean snmpstatus_clean snmpbulkget_clean snmpget_clean snmpgetnext_clean snmpbulkwalk_clean snmptranslate_clean encode_keychange_clean snmpnetstat_clean
- local : snmpconf mib2c traptoemail
- local_clean : snmpconf_clean mib2c_clean traptoemail_clean
- perl :
- !IF "$(LINKTYPE)" == "static"
- -@echo .
- -@echo WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
- -@echo ===============================================================
- -@echo Building Perl modules using static SNMPLIB library.
- -@echo .
- -@echo Some modules will not function correctly with the static version
- -@echo of the SNMPLIB library.
- -@echo .
- -@echo nmake perl_test will not complete due to a crash in the OID
- -@echo module.
- -@echo ===============================================================
- -@echo .
- -@echo .
- !ELSE # dynamic/static check
- -@echo .
- -@echo WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
- -@echo ===============================================================
- -@echo Building Perl modules using dynamic (DLL) SNMPLIB library.
- -@echo .
- -@echo Net-SNMP is NOT a thread safe program, which is a requirement
- -@echo for any application using a dynamic link library (DLL).
- -@echo Running multiple programs (including multiple Perl scripts)
- -@echo that use NETSNMP.DLL can result in unpredictable results.
- -@echo ===============================================================
- -@echo .
- -@echo .
- !ENDIF # dynamic/static check
- cd ..perl
- !IF "$(CFG)" == "release"
- perl Makefile.PL CAPI=TRUE -NET-SNMP-IN-SOURCE=TRUE
- !ELSE # release/debug check
- perl Makefile.PL CAPI=TRUE -NET-SNMP-IN-SOURCE=TRUE -NET-SNMP-DEBUG=TRUE
- !ENDIF # release/debug check
- $(NMAKE)
- cd ..win32
- perl_test :
- !IF "$(LINKTYPE)" == "static" # Check in case test triggers build
- -@echo .
- -@echo Perl test aborted.
- -@echo Perl modules must be build against dynamic (DLL) libraries
- -@echo .
- !ELSE # dynamic/static check
- cd ..perl
- $(NMAKE) test
- cd ..win32
- !ENDIF # dynamic/static check
- perl_install :
- !IF "$(LINKTYPE)" == "static" # Check in case install triggers build
- -@echo .
- -@echo Perl install aborted.
- -@echo Perl modules must be build against dynamic (DLL) libraries
- -@echo .
- !ELSE # dynamic/static check
- cd ..perl
- $(NMAKE) install
- cd ..win32
- !ENDIF # dynamic/static check
- perl_clean :
- cd ..perl
- $(NMAKE) clean
- cd ..win32
- ##############
- #
- # Build
- #
- libagent ::
- cd libagent
- $(NMAKE) all
- cd ..
- libhelpers ::
- cd libhelpers
- $(NMAKE) all
- cd ..
- libsnmp_ ::
- cd libsnmp
- $(NMAKE) all
- cd ..
- libsnmp_dll_ ::
- cd libsnmp_dll
- $(NMAKE) all
- cd ..
- libnetsnmptrapd ::
- cd libnetsnmptrapd
- $(NMAKE) all
- cd ..
- netsnmpmibs_ ::
- cd netsnmpmibs
- $(NMAKE) all
- cd ..
- netsnmpmibssdk_ ::
- cd netsnmpmibssdk
- $(NMAKE) all
- cd ..
- snmpdf ::
- cd snmpdf
- $(NMAKE) all
- cd ..
- snmpset ::
- cd snmpset
- $(NMAKE) all
- cd ..
- snmpusm ::
- cd snmpusm
- $(NMAKE) all
- cd ..
- snmptest ::
- cd snmptest
- $(NMAKE) all
- cd ..
- snmptrap ::
- cd snmptrap
- $(NMAKE) all
- cd ..
- snmpvacm ::
- cd snmpvacm
- $(NMAKE) all
- cd ..
- snmpwalk ::
- cd snmpwalk
- $(NMAKE) all
- cd ..
- snmpdelta ::
- cd snmpdelta
- $(NMAKE) all
- cd ..
- snmptable ::
- cd snmptable
- $(NMAKE) all
- cd ..
- snmpstatus ::
- cd snmpstatus
- $(NMAKE) all
- cd ..
- snmpbulkget ::
- cd snmpbulkget
- $(NMAKE) all
- cd ..
- snmpget ::
- cd snmpget
- $(NMAKE) all
- cd ..
- snmpgetnext ::
- cd snmpgetnext
- $(NMAKE) all
- cd ..
- snmpbulkwalk ::
- cd snmpbulkwalk
- $(NMAKE) all
- cd ..
- snmptranslate ::
- cd snmptranslate
- $(NMAKE) all
- cd ..
- encode_keychange ::
- cd encode_keychange
- $(NMAKE) all
- cd ..
- snmpnetstat ::
- cd snmpnetstat
- $(NMAKE) all
- cd ..
- snmptrapd ::
- cd snmptrapd
- $(NMAKE) all
- cd ..
- snmpd_ ::
- cd snmpd
- $(NMAKE) all
- cd ..
- snmpdsdk_ ::
- cd snmpdsdk
- $(NMAKE) all
- cd ..
- snmpconf ::
- cd local
- $(NMAKE) snmpconf
- cd ..
- mib2c ::
- cd local
- $(NMAKE) mib2c
- cd ..
- traptoemail ::
- cd local
- $(NMAKE) traptoemail
- cd ..
- ##############
- #
- # Clean
- #
- libagent_clean ::
- cd libagent
- $(NMAKE) clean
- cd ..
- libhelpers_clean ::
- cd libhelpers
- $(NMAKE) clean
- cd ..
- libsnmp_clean_ ::
- cd libsnmp
- $(NMAKE) clean
- cd ..
- libsnmp_dll_clean_ ::
- cd libsnmp_dll
- $(NMAKE) clean
- cd ..
- libnetsnmptrapd_clean ::
- cd libnetsnmptrapd
- $(NMAKE) clean
- cd ..
- netsnmpmibs_clean_ ::
- cd netsnmpmibs
- $(NMAKE) clean
- cd ..
- netsnmpmibssdk_clean_ ::
- cd netsnmpmibssdk
- $(NMAKE) clean
- cd ..
- snmpdf_clean ::
- cd snmpdf
- $(NMAKE) clean
- cd ..
- snmpset_clean ::
- cd snmpset
- $(NMAKE) clean
- cd ..
- snmpusm_clean ::
- cd snmpusm
- $(NMAKE) clean
- cd ..
- snmptest_clean ::
- cd snmptest
- $(NMAKE) clean
- cd ..
- snmptrap_clean ::
- cd snmptrap
- $(NMAKE) clean
- cd ..
- snmpvacm_clean ::
- cd snmpvacm
- $(NMAKE) clean
- cd ..
- snmpwalk_clean ::
- cd snmpwalk
- $(NMAKE) clean
- cd ..
- snmpdelta_clean ::
- cd snmpdelta
- $(NMAKE) clean
- cd ..
- snmptable_clean ::
- cd snmptable
- $(NMAKE) clean
- cd ..
- snmpstatus_clean ::
- cd snmpstatus
- $(NMAKE) clean
- cd ..
- snmpbulkget_clean ::
- cd snmpbulkget
- $(NMAKE) clean
- cd ..
- snmpget_clean ::
- cd snmpget
- $(NMAKE) clean
- cd ..
- snmpgetnext_clean ::
- cd snmpgetnext
- $(NMAKE) clean
- cd ..
- snmpbulkwalk_clean ::
- cd snmpbulkwalk
- $(NMAKE) clean
- cd ..
- snmptranslate_clean ::
- cd snmptranslate
- $(NMAKE) clean
- cd ..
- encode_keychange_clean ::
- cd encode_keychange
- $(NMAKE) clean
- cd ..
- snmpnetstat_clean ::
- cd snmpnetstat
- $(NMAKE) clean
- cd ..
- snmptrapd_clean ::
- cd snmptrapd
- $(NMAKE) clean
- cd ..
- snmpd_clean_ ::
- cd snmpd
- $(NMAKE) clean
- cd ..
- snmpdsdk_clean_ ::
- cd snmpdsdk
- $(NMAKE) clean
- cd ..
- snmpconf_clean ::
- cd local
- $(NMAKE) snmpconf_clean
- cd ..
- mib2c_clean ::
- cd local
- $(NMAKE) mib2c_clean
- cd ..
- traptoemail_clean ::
- cd local
- $(NMAKE) traptoemail_clean
- cd ..
- ##############
- help ::
- @-echo "NMAKE option Description"
- @-echo "============ =============================================="
- @-echo " "
- @-echo "all libs apps snmptrapd snmpd "
- @-echo "clean libs_clean apps_clean snmptrapd_clean "
- @-echo " snmpd_clean "
- @-echo "libs libagent libhelpers libsnmp libnetsnmptrapd "
- @-echo " netsnmpmibs "
- @-echo "libs_clean libagent_clean libhelpers_clean "
- @-echo " libnetsnmptrapd_clean libsnmp_clean "
- @-echo " netsnmpmibs_clean "
- @-echo " "
- @-echo "apps encode_keychange snmpbulkget snmpbulkwalk "
- @-echo " snmpdelta snmpdf snmpget snmpgetnext "
- @-echo " snmpnetstsat snmpset snmpstatus snmptable "
- @-echo " snmptest snmptranslate snmptrap snmpusm "
- @-echo " snmpvacm snmpwalk "
- @-echo " "
- @-echo "apps_clean (clean all the apps) "
- @-echo " "
- @-echo "local snmpconf, mib2c, traptoemail "
- @-echo "local_clean snmpconf_clean, mib2c_clean, traptoemail_clean"
- @-echo " "
- @-echo "snmptrapd Trap daemon "
- @-echo "snmptrapd_clean Trap daemon clean "
- @-echo " "
- @-echo "snmpd Agent "
- @-echo "snmpd_clean Agent clean "
- @-echo " "
- @-echo "install Install Net-SNMP without Perl "
- @-echo " "
- @-echo "install_devel Install Development files "
- @-echo " "
- @-echo "perl Configure (in source) and then nmake "
- @-echo "perl_clean Perl clean "
- @-echo "perl_test Perl tests "
- @-echo "perl_install Perl installs "
- install ::
- cd ..
- @-echo Creating $(PREFIX_DOS) sub-directories
- @-mkdir $(PREFIX_DOS) > NUL:
- @-mkdir $(PREFIX_DOS)bin > NUL:
- @-mkdir $(PREFIX_DOS)etc > NUL:
- @-mkdir $(PREFIX_DOS)etcsnmp > NUL:
- @-mkdir $(PREFIX_DOS)share > NUL:
- @-mkdir $(PREFIX_DOS)sharesnmp > NUL:
- @-mkdir $(PREFIX_DOS)sharesnmpmibs > NUL:
- @-mkdir $(PREFIX_DOS)sharesnmpsnmpconf-data > NUL:
- @-mkdir $(PREFIX_DOS)sharesnmpsnmpconf-datasnmp-data > NUL:
- @-mkdir $(PREFIX_DOS)sharesnmpsnmpconf-datasnmpd-data > NUL:
- @-mkdir $(PREFIX_DOS)sharesnmpsnmpconf-datasnmptrapd-data > NUL:
- @-mkdir $(PREFIX_DOS)sharesnmpmib2c-data > NUL:
- @-mkdir $(PREFIX_DOS)snmp > NUL:
- @-mkdir $(PREFIX_DOS)snmppersist > NUL:
- @-mkdir $(PREFIX_DOS)temp > NUL:
- @-mkdir $(PREFIX_DOS)include > NUL:
- @-mkdir $(PREFIX_DOS)includenet-snmp > NUL:
- @-mkdir $(PREFIX_DOS)includenet-snmpagent > NUL:
- @-echo Copying MIB files to $(PREFIX_DOS)sharesnmpmibs
- @-Copy mibs*.txt $(PREFIX_DOS)sharesnmpmibs > NUL:
- @-echo Copying compiled programs to $(PREFIX_DOS)bin
- @-Copy win32bin$(CFG)*.exe $(PREFIX_DOS)bin > NUL:
- @-echo Copying (local) scripts to $(PREFIX_DOS)bin
- @-Copy win32bin$(CFG)snmpconf $(PREFIX_DOS)bin > NUL:
- @-Copy win32localsnmpconf.bat $(PREFIX_DOS)bin > NUL:
- @-Copy win32bin$(CFG)mib2c $(PREFIX_DOS)bin > NUL:
- @-Copy win32localmib2c.bat $(PREFIX_DOS)bin > NUL:
- @-Copy win32bin$(CFG)traptoemail $(PREFIX_DOS)bin > NUL:
- @-Copy win32localtraptoemail.bat $(PREFIX_DOS)bin > NUL:
- @-echo Copying snmpconf files to $(PREFIX_DOS)sharesnmpsnmpconf-datasnmp-data
- @-Copy localsnmpconf.dirsnmp-data*.* $(PREFIX_DOS)sharesnmpsnmpconf-datasnmp-data > NUL:
- @-Copy localsnmpconf.dirsnmpd-data*.* $(PREFIX_DOS)sharesnmpsnmpconf-datasnmpd-data > NUL:
- @-Copy localsnmpconf.dirsnmptrapd-data*.* $(PREFIX_DOS)sharesnmpsnmpconf-datasnmptrapd-data > NUL:
- @-echo Copying mib2c config files to $(PREFIX_DOS)sharesnmp
- @-Copy localmib2c*.conf $(PREFIX_DOS)sharesnmp > NUL:
- @-Copy localmib2c-conf.d*.* $(PREFIX_DOS)sharesnmpmib2c-data > NUL:
- @-echo Copying header files to $(PREFIX_DOS)include
- @-copy win32net-snmp*.h $(PREFIX_DOS)includenet-snmp > NUL:
- @-copy win32net-snmpagent*.h $(PREFIX_DOS)includenet-snmpagent > NUL:
- @-echo Copying DLL files to $(PREFIX_DOS)
- @-Copy win32bin$(CFG)*.dll $(PREFIX_DOS)bin > NUL:
- @-echo Copying DLL files to %SYSTEMROOT%System32
- @-Copy win32bin$(CFG)*.dll %SYSTEMROOT%System32 > NUL:
- @-echo Done copying files to $(PREFIX_DOS)
- cd win32
- install_devel ::
- cd ..
- @-echo Creating $(PREFIX_DOS) sub-directories
- @-mkdir $(PREFIX_DOS) > NUL:
- @-mkdir $(PREFIX_DOS)lib > NUL:
- @-mkdir $(PREFIX_DOS)include > NUL:
- @-mkdir $(PREFIX_DOS)includenet-snmp > NUL:
- @-echo Copying library files to $(PREFIX_DOS)lib
- @-copy win32lib$(CFG)*.lib $(PREFIX_DOS)lib > NUL:
- @-echo Copying header files to $(PREFIX_DOS)include
- @-xcopy includenet-snmp*.h $(PREFIX_DOS)includenet-snmp /s /y > NUL:
- @-copy win32net-snmp*.h $(PREFIX_DOS)includenet-snmp > NUL:
- @-copy win32net-snmpagent*.h $(PREFIX_DOS)includenet-snmpagent > NUL:
- @-echo Done copying files to $(PREFIX_DOS)
- cd win32