#****************************************************************************
#
# Portions of this software Copyright (c) 2004-2010 Broadcom Corporation
#
#****************************************************************************
#
#  Filename:       makefile_brcm
#  Author:         T. Clack
#  Creation Date:  11/10/03
#
#****************************************************************************
#  Description:
#      The makefile for the libnetsnmpmibs_[OS].a library.
#
#****************************************************************************

#####################################################################
# We are a 2.9.4 V2 sandbox
#####################################################################

TOP_DIR   = ../../../../../../../..
LIB_SUPPORT_DIR = $(TOP_DIR)/LibSupport
NETSNMP_INC_DIR = $(LIB_SUPPORT_DIR)/NetSnmp/include
NETSNMP_LIB_DIR = $(LIB_SUPPORT_DIR)/NetSnmp


#####################################################################
# Linux build
#####################################################################
DEFS_FILE =  ../../../../../../../../cm_bsp_v2/bsp_common/os/stb_linux/makeinc/defs.bsp

#include $(DEFS_FILE)


EXTRA_INCLUDE += -I.
EXTRA_INCLUDE += -I/opt/toolchains/uclibc/include

MIB_LIB  = libnetsnmpmibs_stblinux.a

SED             = sed
RANLIB          = /opt/toolchains/uclibc/bin/mipsel-linux-ranlib
LN_S            = ln -s
MY_AR = $(AR)
CFLAGS  +=  -DTARGETOS_stblinux -Dlinux
CC              = /opt/toolchains/uclibc/bin/mipsel-linux-gcc

## end of Linux specific stuff #######################################



#MIB_OBJS = $(subst .c,.o, $(wildcard *.c))

MIB_OBJS  = header_complex.o util_funcs.o
MIB_OBJS += mibII/vacm_context.o mibII/vacm_vars.o mibII/snmp_mib.o
MIB_OBJS += notification/snmpNotifyFilterProfileTable.o notification/snmpNotifyFilterTable.o notification/snmpNotifyTable.o
MIB_OBJS += snmpv3/snmpEngine.o snmpv3/snmpMPDStats.o snmpv3/usmStats.o snmpv3/usmUser.o  
MIB_OBJS += target/snmpTargetAddrEntry.o target/snmpTargetParamsEntry.o target/target.o target/target_counters.o

#MIB_OBJS += dot1d/dot1dBase.o dot1d/dot1dBasePortTable.o dot1d/dot1dTp.o 
#MIB_OBJS += dot1d/dot1dTpFdbTable.o dot1d/dot1dTpPortTable.o 
#MIB_OBJS += docsis/docsDevBase.o docsis/docsDevNmAccessTable.o docsis/docsDevSoftware.o
#MIB_OBJS += docsis/docsDevServer.o docsis/docsDevEvent.o docsis/docsDevEvControlTable.o 
#MIB_OBJS += docsis/docsDevEventTable.o docsis/docsDevFilter.o docsis/docsDevFilterLLCTable.o 
#MIB_OBJS += docsis/docsDevFilterIpTable.o docsis/docsDevFilterPolicyTable.o docsis/docsDevFilterTosTable.o 
#MIB_OBJS += docsis/docsDevCpe.o docsis/docsDevCpeTable.o docsis/docsIfDownstreamChannelTable.o 
#MIB_OBJS += docsis/docsIfUpstreamChannelTable.o docsis/docsIfQosProfileTable.o 
#MIB_OBJS += docsis/docsIfSignalQualityTable.o docsis/docsIfCmMacTable.o 
#MIB_OBJS += docsis/docsIfCmStatusTable.o docsis/docsIfCmServiceTable.o docsis/docsBpiCmBaseTable.o 
#MIB_OBJS += docsis/docsBpiCmTEKTable.o 

#MIB_OBJS += mibII/system.o 
#MIB_OBJS += mibII/at.o mibII/icmp.o mibII/interfaces.o mibII/ip.o mibII/ipAddr.o
#MIB_OBJS += mibII/ipv6.o mibII/kernel_linux.o mibII/route_write.o mibII/setSerialNo.o
#MIB_OBJS += mibII/tcp.o mibII/tcpTable.o mibII/udp.o mibII/udpTable.o
#MIB_OBJS += mibII/sysORTable.o mibII/var_route.o
 



		   	  		   
EXTRA_INCLUDE += -I$(NETSNMP_INC_DIR)
EXTRA_INCLUDE += -Imibgroup


CFLAGS  += -DUSE_OPENSSL=1


$(MIB_LIB) : $(MIB_OBJS)
#	echo objs $(MIB_OBJS)
#	echo lib  $(MIB_LIB)
	$(MY_AR) cru $(MIB_LIB) $?
	$(RANLIB) $(MIB_LIB) 
        
	cp $(MIB_LIB) $(NETSNMP_LIB_DIR)/$(MIB_LIB)


%.o : %.s
	@ $(RM) $@
	$(CC) $(CFLAGS_AS) -c -o $@ $< 

%.o : %.c 
	@ $(RM) $@
	$(CC) $(CFLAGS) $(EXTRA_INCLUDE) -c -o $@ $<

clean:
	- $(RM) $(MIB_LIB)
	- $(RM) *.o
	- $(RM) mibII/*.o
	- $(RM) notification/*.o
	- $(RM) snmpv3/*.o
	- $(RM) target/*.o
	- $(RM) $(NETSNMP_LIB_DIR)/$(MIB_LIB)




