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 "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)\etc\snmp > NUL: @-mkdir $(PREFIX_DOS)\share > NUL: @-mkdir $(PREFIX_DOS)\share\snmp > NUL: @-mkdir $(PREFIX_DOS)\share\snmp\mibs > NUL: @-mkdir $(PREFIX_DOS)\share\snmp\snmpconf-data > NUL: @-mkdir $(PREFIX_DOS)\share\snmp\snmpconf-data\snmp-data > NUL: @-mkdir $(PREFIX_DOS)\share\snmp\snmpconf-data\snmpd-data > NUL: @-mkdir $(PREFIX_DOS)\share\snmp\snmpconf-data\snmptrapd-data > NUL: @-mkdir $(PREFIX_DOS)\snmp > NUL: @-mkdir $(PREFIX_DOS)\snmp\persist > NUL: @-mkdir $(PREFIX_DOS)\temp > NUL: @-mkdir $(PREFIX_DOS)\include > NUL: @-mkdir $(PREFIX_DOS)\include\net-snmp > NUL: @-mkdir $(PREFIX_DOS)\include\net-snmp\agent > NUL: @-echo Copying MIB files to $(PREFIX_DOS)\share\snmp\mibs @-Copy mibs\*.txt $(PREFIX_DOS)\share\snmp\mibs > NUL: @-echo Copying compiled programs to $(PREFIX_DOS)\bin @-Copy win32\bin\$(CFG)\*.exe $(PREFIX_DOS)\bin > NUL: @-echo Copying (local) scripts to $(PREFIX_DOS)\bin @-Copy win32\bin\$(CFG)\snmpconf $(PREFIX_DOS)\bin > NUL: @-Copy win32\local\snmpconf.bat $(PREFIX_DOS)\bin > NUL: @-Copy win32\bin\$(CFG)\mib2c $(PREFIX_DOS)\bin > NUL: @-Copy win32\local\mib2c.bat $(PREFIX_DOS)\bin > NUL: @-Copy win32\bin\$(CFG)\traptoemail $(PREFIX_DOS)\bin > NUL: @-Copy win32\local\traptoemail.bat $(PREFIX_DOS)\bin > NUL: @-echo Copying snmpconf files to $(PREFIX_DOS)\share\snmp\snmpconf-data\snmp-data @-Copy local\snmpconf.dir\snmp-data\*.* $(PREFIX_DOS)\share\snmp\snmpconf-data\snmp-data > NUL: @-Copy local\snmpconf.dir\snmpd-data\*.* $(PREFIX_DOS)\share\snmp\snmpconf-data\snmpd-data > NUL: @-Copy local\snmpconf.dir\snmptrapd-data\*.* $(PREFIX_DOS)\share\snmp\snmpconf-data\snmptrapd-data > NUL: @-echo Copying mib2c config files to $(PREFIX_DOS)\share\snmp @-Copy local\mib2c*.conf $(PREFIX_DOS)\share\snmp > NUL: @-echo Copying header files to $(PREFIX_DOS)\include @-copy win32\net-snmp\*.h $(PREFIX_DOS)\include\net-snmp > NUL: @-copy win32\net-snmp\agent\*.h $(PREFIX_DOS)\include\net-snmp\agent > NUL: @-echo Copying DLL files to $(PREFIX_DOS) @-Copy win32\bin\$(CFG)\*.dll $(PREFIX_DOS)\bin > NUL: @-echo Copying DLL files to %SYSTEMROOT%\System32 @-Copy win32\bin\$(CFG)\*.dll %SYSTEMROOT%\System32 > NUL: @-echo Done copying files to $(PREFIX_DOS) cd win32