!include ..\..\NMAKEmakefile.common

CFLAGS=$(CFLAGS) -I$(SNMP_BASE)\snmp_common\ucd-snmp\win32
LFLAGS = /NOLOGO /DLL /SUBSYSTEM:WINDOWS

SUBDIRS = \
	rtp-mib\~ \
	www-mib\~ \
	www-extensions-mib\~ \
	apache-logging-mib\~ \
	apache-mpm-mib\~ \
	apache-status-mib\~ \
	apache-modules-mib\~ \
	apache-server-mib\~ \

SNMPCOMMON_OBJS = \
	$(WORKDIR)/snmpv2-tc.obj \
	$(WORKDIR)/dummy-config.obj \
	$(WORKDIR)/restart-storage.obj \
	$(WORKDIR)/required.obj \
	$(WORKDIR)/generic-logging.obj \
	$(WORKDIR)/mod-snmpcommon.obj

COMMON_LIBS = libsnmpcommon.lib


AGT_LIBS = \
	apache-logging-mib/libapache_logging_mib.lib \
	apache-modules-mib/libapache_modules_mib.lib \
	apache-status-mib/libapache_status_mib.lib \
	apache-server-mib/libapache_server_mib.lib \
	apache-mpm-mib/libapache_mpm_mib.lib \
	www-mib/libwww_mib.lib \
	www-extensions-mib/libwww_extensions_mib.lib \
	rtp-mib/librtp_mib.lib

AGT_OBJS = Amod-snmpagt.obj \
	Aextensions.obj \
	Ansm-mib.obj \
	Aucd_snmpd.obj

SUBAGT_OBJS = Smod-snmpagt.obj \
	Sextensions.obj \
	Snsm-mib.obj \
	Sucd_snmpd.obj \

install: libsnmpcommon.so libsnmpmonagt.so libsnmpsubagt.so

libsnmpcommon.so: $(SUBDIRS) $(SNMPCOMMON_OBJS)
	$(LINK) $(LFLAGS) $(SNMPCOMMON_OBJS) $(SNMP_LIBS) $(LIBS) $(LDIRS) /out:libsnmpcommon.so

libsnmpmonagt.so: $(SUBDIRS) $(AGT_OBJS)
	$(LINK) $(LFLAGS) $(AGT_OBJS) $(AGT_LIBS) $(COMMON_LIBS) $(SNMP_LIBS) $(LIBS) $(LDIRS) /out:libsnmpmonagt.so

libsnmpsubagt.so: $(SUBDIRS) $(SUBAGT_OBJS)
	$(LINK) $(LFLAGS) $(SUBAGT_OBJS) $(AGT_LIBS) $(COMMON_LIBS) $(SNMP_LIBS) $(LIBS) $(LDIRS) /out:libsnmpsubagt.so


$(SUBDIRS):
	@if exist $(@D)\NMAKEmakefile <<nmaketmp.bat
	@cd $(@D)
	@echo $(@D)
	@$(MAKE) -nologo -A -f NMAKEmakefile install
	@cd ..
<<

{snmpcommon}.c{$(WORKDIR)}.obj:
	$(CC)  /D "SNMPCOMMON_EXPORTS" /D "SNMPCOMMON_DECLARE_EXPORT" $(CFLAGS) $(INCLUDES) $< /out:$@

Amod-snmpagt.obj: snmpagent/mod-snmpagt.c
	$(CC) /DSNMP_AGENT $(CFLAGS) $(INCLUDES) snmpagent/mod-snmpagt.c
	copy mod-snmpagt.obj Amod-snmpagt.obj

Aextensions.obj:  external-mibs/extensions.c
	$(CC) /DSNMP_AGENT $(CFLAGS) $(INCLUDES) external-mibs/extensions.c
	copy extensions.obj Aextensions.obj

Ansm-mib.obj: mibs-ietf/nsm-mib.c
	$(CC) /DSNMP_AGENT $(CFLAGS) $(INCLUDES) mibs-ietf/nsm-mib.c
	copy nsm-mib.obj Ansm-mib.obj

Aucd_snmpd.obj: snmpagent/ucd_snmpd.c
	$(CC) /DSNMP_AGENT $(CFLAGS) $(INCLUDES) snmpagent/ucd_snmpd.c
	copy ucd_snmpd.obj Aucd_snmpd.obj

Smod-snmpagt.obj: snmpagent/mod-snmpagt.c
	$(CC) /DAGENTX_SUBAGEN $(CFLAGS) $(INCLUDES) snmpagent/mod-snmpagt.c
	copy mod-snmpagt.obj Smod-snmpagt.obj

Sextensions.obj:  external-mibs/extensions.c
	$(CC) /DAGENTX_SUBAGEN $(CFLAGS) $(INCLUDES) external-mibs/extensions.c
	copy extensions.obj Sextensions.obj

Snsm-mib.obj: mibs-ietf/nsm-mib.c
	$(CC) /DAGENTX_SUBAGEN $(CFLAGS) $(INCLUDES)  mibs-ietf/nsm-mib.c
	copy nsm-mib.obj Snsm-mib.obj

Sucd_snmpd.obj: snmpagent/ucd_snmpd.c
	$(CC) /DAGENTX_SUBAGEN $(CFLAGS) $(INCLUDES) snmpagent/ucd_snmpd.c
	copy ucd_snmpd.obj Sucd_snmpd.obj
