#############################################################
# Makefile for net-snmp-5.1.2 libnetagent.a
#############################################################

ifndef ROOTDIR
ROOTDIR = ../../..
export ROOTDIRendif
endif

ifeq ("$(CONFIG_MODEL)", "PROJECT_CAP2150")

CROSS_COMPILE = "arm-openwrt-linux-uclibcgnueabi-"
TARGET_HOST = "arm-openwrt-linux-uclibcgnueabi"
AR = "${CROSS_COMPILE}gcc-ar"
RANLIB = "${CROSS_COMPILE}gcc-ranlib"
RM = rm -rf

else

ifeq ("$(CONFIG_MODEL)","AP912C")
else ifeq ("$(CONFIG_PRODUCT)", "IPQ8074")
CFLAGS	+= -I$(ROOTDIR)/kernel_headers/include 
else ifeq ("$(CONFIG_PRODUCT)", "XRX500")
CFLAGS	+= -I$(ROOTDIR)/kernel_headers/include 
CFLAGS	+= -D_APPLY_NETSNMP_5_9_PATCH=1
else
CROSS_COMPILE = mipsel-linux-
TARGET_HOST = mipsel-linux
endif

endif

CC = $(CROSS_COMPILE)gcc
LD = $(CROSS_COMPILE)ld

INCLUDE_PATH += -I. -I../include/ -I./mibgroup/ -I$(ROOTDIR)/

INCLUDE_LIBS=

OBJS= ./snmplib/snmp_client.o ./snmplib/mib.o ./snmplib/parse.o ./snmplib/snmp_api.o ./snmplib/snmp.o	\
	./snmplib/snmp_auth.o ./snmplib/asn1.o ./snmplib/md5.o ./snmplib/snmp_parse_args.o	\
	./snmplib/system.o ./snmplib/vacm.o ./snmplib/int64.o ./snmplib/read_config.o	\
	./snmplib/snmp_debug.o ./snmplib/tools.o ./snmplib/snmp_logging.o	\
	./snmplib/snmpv3.o ./snmplib/lcd_time.o ./snmplib/keytools.o	\
	./snmplib/scapi.o ./snmplib/callback.o ./snmplib/default_store.o ./snmplib/snmp_alarm.o	\
	./snmplib/data_list.o ./snmplib/oid_stash.o	\
	./snmplib/mt_support.o ./snmplib/snmp_enum.o ./snmplib/snmp-tc.o	\
	./snmplib/snprintf.o ./snmplib/strlcpy.o ./snmplib/strtol.o ./snmplib/strtoul.o	\
	./snmplib/snmp_transport.o  ./snmplib/snmpUDPDomain.o ./snmplib/snmpCallbackDomain.o	\
	./snmplib/snmp_secmod.o  ./snmplib/snmpusm.o ./snmplib/snmp_version.o \
	./snmplib/check_varbind.o ./snmplib/container.o ./snmplib/container_binary_array.o	\
	./snmplib/container_null.o ./snmplib/container_list_ssll.o ./snmplib/container_iterator.o \
	./snmplib/cmu_compat.o ./snmplib/ucd_compat.o\

OBJS+= ./helpers/all_helpers.o ./helpers/baby_steps.o ./helpers/cache_handler.o ./helpers/multiplexer.o \
	./helpers/read_only.o ./helpers/bulk_to_next.o ./helpers/instance.o ./helpers/scalar.o ./helpers/scalar_group.o \
	./helpers/watcher.o ./helpers/null.o ./helpers/debug_handler.o ./helpers/old_api.o ./helpers/row_merge.o \
	./helpers/serialize.o ./helpers/stash_cache.o ./helpers/table_array.o ./helpers/table_iterator.o \
	./helpers/table_data.o ./helpers/table_dataset.o ./helpers/table.o ./helpers/mode_end_call.o
	
OBJS+=	./mibgroup/host/hr_device.o ./mibgroup/host/hr_disk.o ./mibgroup/host/hr_filesys.o ./mibgroup/host/hr_network.o ./mibgroup/host/hr_partition.o \
   ./mibgroup/host/hr_proc.o ./mibgroup/host/hr_storage.o ./mibgroup/host/hr_system.o ./mibgroup/mibII/at.o ./mibgroup/mibII/icmp.o ./mibgroup/mibII/interfaces.o \
   ./mibgroup/mibII/ip.o ./mibgroup/mibII/snmp_mib.o ./mibgroup/mibII/sysORTable.o ./mibgroup/mibII/system_mib.o ./mibgroup/mibII/tcp.o ./mibgroup/mibII/udp.o \
   ./mibgroup/mibII/vacm_context.o ./mibgroup/mibII/vacm_vars.o ./mibgroup/snmpv3/snmpEngine.o ./mibgroup/snmpv3/snmpMPDStats.o ./mibgroup/snmpv3/usmStats.o \
   ./mibgroup/snmpv3/usmUser.o ./mibgroup/ucd-snmp/disk.o ./mibgroup/ucd-snmp/dlmod.o ./mibgroup/ucd-snmp/extensible.o ./mibgroup/ucd-snmp/loadave.o ./mibgroup/ucd-snmp/memory.o \
   ./mibgroup/ucd-snmp/pass.o ./mibgroup/ucd-snmp/proc.o ./mibgroup/ucd-snmp/vmstat.o ./mibgroup/util_funcs.o ./mibgroup/utilities/execute.o ./mibgroup/mibII/kernel_linux.o \
   ./mibgroup/mibII/ipAddr.o ./mibgroup/mibII/var_route.o ./mibgroup/mibII/route_write.o ./mibgroup/mibII/tcpTable.o ./mibgroup/mibII/udpTable.o ./mibgroup/tunnel/tunnel.o
   
OBJS+= snmp_agent.o snmp_vars.o agent_read_config.o \
	 agent_registry.o agent_index.o agent_trap.o kernel.o \
	 agent_handler.o auto_nlist.o mib_modules.o object_monitor.o

CFLAGS += -O2 -Wall $(INCLUDE_PATH)
LIBRARY = libnetagent.a

all: $(LIBRARY)

romfs: 

$(LIBRARY): $(OBJS)
	$(AR) rcv $@ $(OBJS)
	-$(RANLIB) $@

clean:
	$(RM) $(OBJS) $(LIBRARY)

