#****************************************************************************
#
# Portions of this software Copyright (c) 2007-2014 Broadcom Corporation
#****************************************************************************
#
#  Filename:       makefile_linux
#  Author:         Maurice Turcotte
#  Creation Date:  08/05/07
#
#****************************************************************************
#  Description:
#      The makefile for the libnetsnmp_Linux.a library.
#
#****************************************************************************

#####################################################################
# We are a BFC sandbox
#####################################################################

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

MAKE_NETSNMP_OPENSSL = 1

#####################################################################
# Linux build
#####################################################################
DEFS_FILE =  ../../../../../../../Bfc/linux/makeinc/defs.bsp

include $(DEFS_FILE)


EXTRA_INCLUDE += -I.
#EXTRA_INCLUDE += -I/projects/bfc/work/karthikb/bfc_linux/mips-linux-2.6.12-uclibc/include
#EXTRA_INCLUDE += -I/opt/toolchains/crosstools_sf-linux-2.6.12.0_gcc-3.4.6-20_uclibc-0.9.28-20050817-20070131/mips-linux-uclibc/include
EXTRA_INCLUDE += -I/projects/settops/toolchain/07092007/mips-linux-2.6.12-uclibc/include

SNMP_LIB  = libnetsnmp_Linux.a

SED             = sed
TOOLCHAIN_BIN   = /projects/settops/toolchain/07092007/mips-linux-2.6.12-uclibc/bin
#RANLIB          = /projects/bfc/work/karthikb/bfc_linux/mips-linux-2.6.12-uclibc/bin/mips-linux-ranlib
#RANLIB          = /opt/toolchains/crosstools_sf-linux-2.6.12.0_gcc-3.4.6-20_uclibc-0.9.28-20050817-20070131/bin/mips-linux-ranlib
LN_S            = ln -s
RANLIB          = /projects/settops/toolchain/07092007/mips-linux-2.6.12-uclibc/bin/mips-linux-ranlib
MY_AR = $(TOOLCHAIN_BIN)/mips-linux-ar
CFLAGS  +=  -DTARGETOS_Linux -Dlinux
CC              = /projects/settops/toolchain/07092007/mips-linux-2.6.12-uclibc/bin/mips-linux-gcc

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



 



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

SNMP_OBJS  =  snmp_client.o snmp.o 
SNMP_OBJS +=  snmp_auth.o asn1.o md5.o  
SNMP_OBJS +=  system.o vacm.o int64.o  
SNMP_OBJS +=  snmp_debug.o tools.o snmp_logging.o
SNMP_OBJS +=  snmpv3.o lcd_time.o keytools.o
SNMP_OBJS +=  scapi.o callback.o default_store.o snmp_alarm.o
SNMP_OBJS +=  data_list.o oid_stash.o
SNMP_OBJS +=  mt_support.o snmp_enum.o snmp-tc.c
SNMP_OBJS +=  snprintf.o strlcpy.o strtol.o strtoul.o
SNMP_OBJS +=  snmp_transport.o
SNMP_OBJS +=  snmpUDPDomain.o snmpCallbackDomain.o
SNMP_OBJS +=  snmp_secmod.o snmp_version.o
SNMP_OBJS +=  snmpusm.o
SNMP_OBJS +=  check_varbind.o container.o container_binary_array.o 
SNMP_OBJS +=  mib.o parse.o snmp_api.o 
SNMP_OBJS +=  read_config.o

#SNMP_OBJS +=  getopt.o snmp_parse_args.o cmu_compat.o ucd_compat.o




EXTRA_INCLUDE += -I$(NETSNMP_INC_DIR)

ifeq ($(MAKE_NETSNMP_OPENSSL), 1)
  EXTRA_INCLUDE += -I$(LIB_SUPPORT_DIR)/OpenSSL/include
  SNMP_LIB  = libnetsnmp_Linux_openssl.a
  CFLAGS += -DBFC_INCLUDE_OPENSSL
else
  EXTRA_INCLUDE += -I$(LIB_SUPPORT_DIR)/OpenSSL/include
endif

 
CFLAGS  += -DUSE_OPENSSL=1



$(SNMP_LIB) : $(SNMP_OBJS)	
#	echo objs $(SNMP_OBJS)
#	echo lib  $(SNMP_LIB)     
	$(MY_AR) cru $(SNMP_LIB) $?
	$(RANLIB) $(SNMP_LIB)
       
	cp $(SNMP_LIB) $(NETSNMP_LIB_DIR)/$(SNMP_LIB)


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

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

clean:
	- $(RM) $(SNMP_LIB)
	- $(RM) *.o
	- $(RM) $(NETSNMP_LIB_DIR)/$(SNMP_LIB)




