#
# Makefile for snmpget, snmpwalk, snmpbulkwalk, snmptest, snmptranslate,
# snmptrapd, snmptable, snmpset, snmpgetnext
#

TARG=	snmpwalk snmpbulkwalk snmptest snmptranslate snmpget snmpset snmpgetnext snmptrap snmpstatus snmpdelta snmptable
SBINTARG= snmptrapd
SUBDIRS=  snmpnetstat
TRAPSPECIAL=@trap_list_o@

USELIBS= ../snmplib/libsnmp.$(SHLIB_EXTENSION)
LIBS=	 -L../snmplib $(CC_RUNTIME_ARG) -lsnmp @LIBS@

PARSEOBJS=snmp_parse_args.o

CPPFLAGS=@CPPFLAGS@ -I.. -I$(srcdir)/.. -I$(srcdir)/../snmplib
CC = @CC@ $(CPPFLAGS)

all: $(TARG) $(SBINTARG) subdirs

subdirs:
	for i in $(SUBDIRS) ; do \
        ( cd $$i ; $(MAKE) ) ; \
	done

snmpwalk:    snmpwalk.o $(PARSEOBJS) $(USELIBS)
	${CC} -o $@ snmpwalk.o $(PARSEOBJS) ${LDFLAGS} ${LIBS} 

snmpbulkwalk:    snmpbulkwalk.o $(PARSEOBJS) $(USELIBS)
	${CC} -o $@ snmpbulkwalk.o $(PARSEOBJS) ${LDFLAGS} ${LIBS} 

snmptranslate:    snmptranslate.o $(USELIBS)
	${CC} -o $@ snmptranslate.o ${LDFLAGS} ${LIBS} 

snmpstatus:    snmpstatus.o $(PARSEOBJS) $(USELIBS)
	${CC} -o $@ snmpstatus.o $(PARSEOBJS) ${LDFLAGS} ${LIBS} 

snmpget:    snmpget.o $(PARSEOBJS) $(USELIBS)
	${CC} -o $@ snmpget.o $(PARSEOBJS) ${LDFLAGS} ${LIBS} 

snmpdelta:    snmpdelta.o $(PARSEOBJS) $(USELIBS)
	${CC} -o $@ snmpdelta.o $(PARSEOBJS) ${LDFLAGS} ${LIBS} 

snmptable:    snmptable.o $(PARSEOBJS) $(USELIBS)
	${CC} -o $@ snmptable.o $(PARSEOBJS) ${LDFLAGS} ${LIBS} 

snmptest:    snmptest.o $(PARSEOBJS) $(USELIBS)
	${CC} -o $@ snmptest.o $(PARSEOBJS) ${LDFLAGS} ${LIBS} 

snmptrapd:    snmptrapd.o $(USELIBS)
	${CC} -o $@ snmptrapd.o ${LDFLAGS} ${LIBS} 

snmptrap:    snmptrap.o $(TRAPSPECIAL) $(PARSEOBJS) $(USELIBS)
	${CC} -o $@ snmptrap.o $(TRAPSPECIAL) $(PARSEOBJS) ${LDFLAGS} ${LIBS} 

snmpset:    snmpset.o $(PARSEOBJS) $(USELIBS)
	${CC} -o $@ snmpset.o $(PARSEOBJS) ${LDFLAGS} ${LIBS} 

snmpgetnext:    snmpgetnext.o $(PARSEOBJS) $(USELIBS)
	${CC} -o $@ snmpgetnext.o $(PARSEOBJS) ${LDFLAGS} ${LIBS} 

clean:
	rm -f *.o $(TARG) $(SBINTARG)
	for i in $(SUBDIRS) ; do \
	( cd $$i ; $(MAKE) clean ) ; \
	done

install: installdirs subdirs $(TARG)
	for i in $(SUBDIRS) ; do \
        ( cd $$i ; $(MAKE) install ) ; \
	done
	@for i in $(TARG) ; do $(INSTALL) $$i $(bindir) ; echo "install:  installed $$i in $(bindir)" ; done
	@for i in $(SBINTARG) ; do $(INSTALL) $$i $(sbindir) ; echo "install:  installed $$i in $(sbindir)" ; done

installdirs:
	@$(SHELL) $(srcdir)/../mkinstalldirs $(snmplibdir) $(bindir)

dependlocal: 
	makedepend $(CPPFLAGS) $(srcdir)/*.c

depend: dependlocal
	for i in $(SUBDIRS) ; do \
        ( cd $$i ; $(MAKE) depend ) ; \
	done

nosysdepend: 
	for i in $(SUBDIRS) ; do \
        ( cd $$i ; $(MAKE) nosysdepend ) ; \
	done
	makedepend $(CPPFLAGS) *.c
	perl -n -i.bak -e ' if (/^# DO NOT DELETE THIS LINE/) {$$doit=1;} if ($$doit == 1) {s#/usr/(include|lib)/[^\s]+##g ; print if (! /^[\w]+\.o:\s*$$/);} else {print;}' Makefile

makefileindepend: nosysdepend
	cd snmpnetstat; $(MAKE) makefileindepend; cd ..
	perl -e ' rename("Makefile.in","Makefile.in.bak"); open(F,"Makefile.in.bak"); open(G,"Makefile"); open(O,">Makefile.in"); $$_ = <F>; while(!/^# DO NOT DELETE THIS LINE/) { print O $$_; $$_ = <F>; } print O $$_; $$_ = <G>; while(!/^# DO NOT DELETE THIS LINE/) { $$_ = <G>; } while (<G>) {print O $$_;} '

# DO NOT DELETE THIS LINE -- make depend depends on it.

snmp_parse_args.o: ../config.h ../mib_module_config.h
snmp_parse_args.o:  ../s/linux.h ../s/generic.h
snmp_parse_args.o: ../m/i686.h ../m/i586.h ../m/i386.h 
snmp_parse_args.o:  ./../snmplib/asn1.h
snmp_parse_args.o: ./../snmplib/snmp_api.h ./../snmplib/snmp_impl.h
snmp_parse_args.o: ./../snmplib/snmp_client.h ./../snmplib/mib.h
snmp_parse_args.o: ./../snmplib/snmp.h ./../snmplib/party.h
snmp_parse_args.o: ./../snmplib/context.h ./../snmplib/view.h
snmp_parse_args.o: ./../snmplib/acl.h snmp_parse_args.h ../version.h
snmp_parse_args.o: ./../snmplib/system.h
snmpbulkwalk.o: ../config.h ../mib_module_config.h 
snmpbulkwalk.o:   ../s/linux.h
snmpbulkwalk.o: ../s/generic.h ../m/i686.h ../m/i586.h ../m/i386.h
snmpbulkwalk.o: ./../snmplib/asn1.h ./../snmplib/snmp_api.h
snmpbulkwalk.o: ./../snmplib/snmp_client.h ./../snmplib/mib.h
snmpbulkwalk.o: ./../snmplib/snmp.h ./../snmplib/snmp_impl.h
snmpbulkwalk.o: ./../snmplib/system.h snmp_parse_args.h
snmpdelta.o: ../config.h ../mib_module_config.h 
snmpdelta.o:   ../s/linux.h
snmpdelta.o: ../s/generic.h ../m/i686.h ../m/i586.h ../m/i386.h
snmpdelta.o: ./../snmplib/asn1.h ./../snmplib/snmp_api.h
snmpdelta.o: ./../snmplib/snmp_impl.h ./../snmplib/snmp_client.h
snmpdelta.o: ./../snmplib/mib.h ./../snmplib/snmp.h snmp_parse_args.h
snmpdelta.o: ./../snmplib/system.h
snmpget.o: ../config.h ../mib_module_config.h 
snmpget.o:   ../s/linux.h
snmpget.o: ../s/generic.h ../m/i686.h ../m/i586.h ../m/i386.h
snmpget.o:  ./../snmplib/asn1.h
snmpget.o: ./../snmplib/snmp_api.h ./../snmplib/snmp_impl.h
snmpget.o: ./../snmplib/snmp_client.h ./../snmplib/mib.h ./../snmplib/snmp.h
snmpget.o: ./../snmplib/system.h snmp_parse_args.h
snmpgetnext.o: ../config.h ../mib_module_config.h 
snmpgetnext.o:   ../s/linux.h
snmpgetnext.o: ../s/generic.h ../m/i686.h ../m/i586.h ../m/i386.h
snmpgetnext.o:  ./../snmplib/asn1.h
snmpgetnext.o: ./../snmplib/snmp_api.h ./../snmplib/snmp_impl.h
snmpgetnext.o: ./../snmplib/snmp_client.h ./../snmplib/snmp.h
snmpgetnext.o: ./../snmplib/mib.h ./../snmplib/system.h snmp_parse_args.h
snmpset.o: ../config.h ../mib_module_config.h 
snmpset.o:   ../s/linux.h
snmpset.o: ../s/generic.h ../m/i686.h ../m/i586.h ../m/i386.h
snmpset.o:  ./../snmplib/asn1.h
snmpset.o: ./../snmplib/snmp_api.h ./../snmplib/snmp_impl.h
snmpset.o: ./../snmplib/snmp_client.h ./../snmplib/mib.h ./../snmplib/snmp.h
snmpset.o: ./../snmplib/system.h snmp_parse_args.h
snmpstatus.o: ../config.h ../mib_module_config.h 
snmpstatus.o:   ../s/linux.h
snmpstatus.o: ../s/generic.h ../m/i686.h ../m/i586.h ../m/i386.h
snmpstatus.o:  ./../snmplib/asn1.h
snmpstatus.o: ./../snmplib/snmp_api.h ./../snmplib/snmp_impl.h
snmpstatus.o: ./../snmplib/snmp_client.h ./../snmplib/mib.h
snmpstatus.o: ./../snmplib/snmp.h ./../snmplib/system.h snmp_parse_args.h
snmptable.o: ../config.h ../mib_module_config.h 
snmptable.o:   ../s/linux.h
snmptable.o: ../s/generic.h ../m/i686.h ../m/i586.h ../m/i386.h
snmptable.o:  ./../snmplib/asn1.h
snmptable.o: ./../snmplib/snmp_api.h ./../snmplib/snmp_client.h
snmptable.o: ./../snmplib/mib.h ./../snmplib/snmp.h ./../snmplib/snmp_impl.h
snmptable.o: ./../snmplib/system.h ../apps/snmp_parse_args.h
snmptest.o: ../config.h ../mib_module_config.h 
snmptest.o:   ../s/linux.h
snmptest.o: ../s/generic.h ../m/i686.h ../m/i586.h ../m/i386.h
snmptest.o:  ./../snmplib/asn1.h
snmptest.o: ./../snmplib/snmp_api.h ./../snmplib/snmp_impl.h
snmptest.o: ./../snmplib/mib.h ./../snmplib/snmp.h ./../snmplib/snmp_client.h
snmptest.o: snmp_parse_args.h
snmptranslate.o: ../config.h ../mib_module_config.h 
snmptranslate.o: ../s/linux.h ../s/generic.h ../m/i686.h ../m/i586.h
snmptranslate.o: ../m/i386.h 
snmptranslate.o: ./../snmplib/asn1.h ./../snmplib/snmp_api.h
snmptranslate.o: ./../snmplib/snmp_impl.h ./../snmplib/snmp_client.h
snmptranslate.o: ./../snmplib/parse.h ./../snmplib/mib.h ./../snmplib/snmp.h
snmptrap.o: ../config.h ../mib_module_config.h 
snmptrap.o:   ../s/linux.h
snmptrap.o: ../s/generic.h ../m/i686.h ../m/i586.h ../m/i386.h
snmptrap.o:  ./../snmplib/asn1.h
snmptrap.o: ./../snmplib/snmp_api.h ./../snmplib/snmp_impl.h
snmptrap.o: ./../snmplib/snmp_client.h ./../snmplib/mib.h ./../snmplib/snmp.h
snmptrap.o: ./../snmplib/system.h snmp_parse_args.h
snmptrapd.o: ../config.h ../mib_module_config.h 
snmptrapd.o:   ../s/linux.h
snmptrapd.o: ../s/generic.h ../m/i686.h ../m/i586.h ../m/i386.h
snmptrapd.o: ./../snmplib/asn1.h ./../snmplib/snmp_api.h
snmptrapd.o: ./../snmplib/snmp_impl.h ./../snmplib/snmp_client.h
snmptrapd.o: ./../snmplib/mib.h ./../snmplib/snmp.h ./../snmplib/party.h
snmptrapd.o: ./../snmplib/context.h ./../snmplib/acl.h ./../snmplib/system.h
snmptrapd.o: ../version.h
snmpwalk.o: ../config.h ../mib_module_config.h 
snmpwalk.o:   ../s/linux.h
snmpwalk.o: ../s/generic.h ../m/i686.h ../m/i586.h ../m/i386.h
snmpwalk.o: ./../snmplib/asn1.h ./../snmplib/snmp_api.h
snmpwalk.o: ./../snmplib/snmp_client.h ./../snmplib/mib.h ./../snmplib/snmp.h
snmpwalk.o: ./../snmplib/snmp_impl.h ./../snmplib/system.h snmp_parse_args.h
