| # |
| # Makefile for snmpd |
| # |
| |
| top_builddir = .. |
| |
| # 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) |
| |
| # |
| # what to install |
| # |
| SUBDIRS=helpers mibgroup |
| |
| INSTALLSBINPROGS= @SNMPD@ |
| INSTALLLIBS = libnetsnmpagent.$(LIB_EXTENSION)$(LIB_VERSION) |
| INSTALLPOSTLIBS = libnetsnmpmibs.$(LIB_EXTENSION)$(LIB_VERSION) |
| |
| INCLUDESUBDIR=agent |
| INCLUDESUBDIRHEADERS=agent_read_config.h \ |
| agent_registry.h \ |
| agent_index.h \ |
| agent_trap.h \ |
| auto_nlist.h \ |
| ds_agent.h \ |
| snmp_agent.h \ |
| snmp_vars.h \ |
| var_struct.h \ |
| agent_handler.h \ |
| net-snmp-agent-includes.h \ |
| mib_modules.h \ |
| agent_callbacks.h |
| |
| INSTALLBUILTSUBDIRHEADERS=../include/net-snmp/agent/mib_module_config.h \ |
| ../include/net-snmp/agent/agent_module_config.h \ |
| mibgroup/mib_module_includes.h |
| INSTALLBUILTSUBDIR=agent |
| |
| INCLUDEMIBGROUPDIR=agent/mibgroup |
| INCLUDEMIBGROUPDIRHEADERS=util_funcs.h |
| |
| OTHERINSTALL=installmibgroupheaders @EMBEDPERLINSTALL@ |
| OTHERUNINSTALL=@EMBEDPERLUNINSTALL@ |
| |
| # XXX: need to install these They're really UCD specific, however. |
| BROKEINSTALL= \ |
| mibgroup/struct.h \ |
| mibgroup/util_funcs.h \ |
| mibgroup/mibincl.h \ |
| mibgroup/ucd-snmp/dlmod.h \ |
| mibgroup/utilities/execute.h \ |
| mibgroup/header_complex.h |
| |
| INSTALLUCDHEADERS= \ |
| agent_index.h \ |
| agent_read_config.h \ |
| agent_registry.h \ |
| agent_trap.h \ |
| auto_nlist.h \ |
| ds_agent.h \ |
| header_complex.h \ |
| mibincl.h \ |
| snmp_agent.h \ |
| ucd-snmp-includes.h \ |
| ucd-snmp-agent-includes.h \ |
| util_funcs.h \ |
| var_struct.h |
| |
| # |
| # how to build it info |
| # |
| USELIBS = ../snmplib/libnetsnmp.$(LIB_EXTENSION)$(LIB_VERSION) |
| HELPERLIB = helpers/libnetsnmphelpers.$(LIB_EXTENSION)$(LIB_VERSION) |
| AGENTLIB = libnetsnmpagent.$(LIB_EXTENSION)$(LIB_VERSION) |
| MIBLIB = libnetsnmpmibs.$(LIB_EXTENSION)$(LIB_VERSION) |
| |
| LAGENTLIBS = @LAGENTLIBS@ |
| LMIBLIBS = @LMIBLIBS@ |
| PERLLDOPTS_FOR_APPS = @PERLLDOPTS_FOR_APPS@ |
| PERLLDOPTS_FOR_LIBS = @PERLLDOPTS_FOR_LIBS@ |
| LIBS = $(USELIBS) @AGENTLIBS@ $(PERLLDOPTS_FOR_APPS) |
| OUR_AGENT_LIBS = $(AGENTLIB) $(HELPERLIB) $(MIBLIB) $(LIBS) @DLLIBS@ |
| CPPFLAGS = $(TOP_INCLUDES) -I. $(AGENT_INCLUDES) $(MIBGROUP_INCLUDES) \ |
| $(SNMPLIB_INCLUDES) @CPPFLAGS@ |
| |
| |
| # |
| # Objects |
| # |
| |
| # libnetsnmpmibs objects. |
| @mibgroup_list_lo@ |
| @mibgroup_list_o@ |
| @agentgroup_list_lo@ |
| @agentgroup_list_o@ |
| LMIBOBJS = $(mibgroup_list_lo) mib_modules.lo auto_nlist.lo |
| MIBOBJS = $(mibgroup_list_o) mib_modules.o auto_nlist.o |
| |
| # libnetsnmpagent objects |
| LIBAGENTOBJS=snmp_agent.o snmp_vars.o agent_read_config.o \ |
| agent_registry.o agent_index.o agent_trap.o kernel.o \ |
| agent_handler.o $(agentgroup_list_o) @OTHERAGENTLIBOBJS@ |
| LLIBAGENTOBJS=snmp_agent.lo snmp_vars.lo agent_read_config.lo \ |
| agent_registry.lo agent_index.lo agent_trap.lo kernel.lo \ |
| agent_handler.lo $(agentgroup_list_lo) @OTHERAGENTLIBLOBJS@ |
| |
| # The agent objects. |
| AGENTOBJS=snmpd.o @other_agentobjs@ |
| LAGENTOBJS=snmpd.lo @other_lagentobjs@ |
| |
| # |
| # Define OBJS and LOBJS for clean target (just this directory) |
| # |
| OBJS = $(LIBAGENTOBJS) $(AGENTOBJS) mib_modules.o auto_nlist.o |
| LOBJS = $(LLIBAGENTOBJS) $(LAGENTOBJS) mib_modules.lo auto_nlist.lo |
| |
| |
| all: agentlib subdirs miblib $(INSTALLBINPROGS) $(INSTALLSBINPROGS) |
| |
| # |
| # build stuff targets |
| # |
| getkstat: getkstat.o |
| $(CC) $(CFLAGS) -o $@ $? $(LIBS) |
| |
| getkstat.o: mibgroup/kernel_sunos5.c |
| $(CC) $(CFLAGS) -o $@ -D_GETKSTAT_TEST -DDODEBUG -c $? |
| |
| getmibstat: getmibstat.o |
| $(CC) $(CFLAGS) -o $@ $? $(LIBS) |
| |
| getmibstat.o: mibgroup/kernel_sunos5.c |
| $(CC) $(CFLAGS) -o $@ -D_GETMIBSTAT_TEST -DDODEBUG -c $? |
| |
| snmpd$(EXEEXT): ${LAGENTOBJS} $(USELIBS) $(AGENTLIB) $(HELPERLIB) $(MIBLIB) $(LIBTARG) |
| $(LINK) $(CFLAGS) -o $@ ${LAGENTOBJS} ${LDFLAGS} ${OUR_AGENT_LIBS} |
| |
| |
| libnetsnmpagent.$(LIB_EXTENSION)$(LIB_VERSION): ${LLIBAGENTOBJS} $(USELIBS) |
| $(LIB_LD_CMD) $(AGENTLIB) ${LLIBAGENTOBJS} $(USELIBS) ${LAGENTLIBS} $(LDFLAGS) $(PERLLDOPTS_FOR_LIBS) $(LIB_LD_LIBS) |
| $(RANLIB) $(AGENTLIB) |
| |
| libnetsnmpmibs.$(LIB_EXTENSION)$(LIB_VERSION): ${LMIBOBJS} $(HELPERLIB) $(AGENTLIB) $(USELIBS) |
| $(LIB_LD_CMD) $(MIBLIB) ${LMIBOBJS} $(HELPERLIB) $(AGENTLIB) $(USELIBS) ${LMIBLIBS} $(LDFLAGS) $(LIB_LD_LIBS) |
| $(RANLIB) $(MIBLIB) |
| |
| agentlib: $(AGENTLIB) |
| |
| miblib: $(MIBLIB) |
| |
| libs: $(AGENTLIB) $(MIBLIB) |
| |
| embedperlinstall: |
| @$(SHELL) $(srcdir)/../mkinstalldirs $(INSTALL_PREFIX)$(snmplibdir) |
| @$(INSTALL_DATA) $(srcdir)/snmp_perl.pl $(INSTALL_PREFIX)$(snmplibdir)/snmp_perl.pl |
| @echo "install: installed snmp_perl.pl in $(INSTALL_PREFIX)$(snmplibdir)" |
| |
| embedperluninstall: |
| @rm -f $(INSTALL_PREFIX)$(snmplibdir)/snmp_perl.pl |
| @echo "removed snmp_perl.pl from $(INSTALL_PREFIX)$(snmplibdir)" |
| |
| installmibgroupheaders: |
| @if test "$(INCLUDEMIBGROUPDIRHEADERS)" != "" ; then \ |
| echo creating directory $(INSTALL_PREFIX)$(includedir)/agent ; \ |
| it="$(INCLUDEMIBGROUPDIRHEADERS)" ; \ |
| $(SHELL) $(top_srcdir)/mkinstalldirs $(INSTALL_PREFIX)$(includedir)/agent ; \ |
| for i in $$it ; do \ |
| $(INSTALL_DATA) $(top_srcdir)/$(INCLUDEMIBGROUPDIR)/$$i $(INSTALL_PREFIX)$(includedir)/agent ; \ |
| echo "installing $$i in $(INSTALL_PREFIX)$(includedir)/agent" ; \ |
| done \ |
| fi |
| |
| @module_list_deps@ |
| @agent_module_list_deps@ |
| @mib_module_list_deps@ |
| |
| mib_modules.lo: mibgroup/mib_module_inits.h |
| # |
| # dependency for snmplib object. it's here because the headers listed |
| # are relative to the agent directory. |
| |
| $(HELPERLIB): subdirs |
| # the above is needed when building with '-j' argument - everything what needs |
| # helper lib must wait until 'subdirs' target is finished |
| |
| subdirs: agentlib |
| # wait for agentlib before building 'subdirs' target |
| |