###############################################################################
#  Copyright (c) 2017 RDK Management, LLC. All rights reserved.
#  Copyright (C) 2017 Broadcom. The term "Broadcom" refers to Broadcom Limited and/or its subsidiaries.
#
#  This program is the proprietary software of Broadcom and/or its licensors,
#  and may only be used, duplicated, modified or distributed pursuant to the terms and
#  conditions of a separate, written license agreement executed between you and Broadcom
#  (an "Authorized License").  Except as set forth in an Authorized License, Broadcom grants
#  no license (express or implied), right to use, or waiver of any kind with respect to the
#  Software, and Broadcom expressly reserves all rights in and to the Software and all
#  intellectual property rights therein.  IF YOU HAVE NO AUTHORIZED LICENSE, THEN YOU
#  HAVE NO RIGHT TO USE THIS SOFTWARE IN ANY WAY, AND SHOULD IMMEDIATELY
#  NOTIFY BROADCOM AND DISCONTINUE ALL USE OF THE SOFTWARE.
#
#  Except as expressly set forth in the Authorized License,
#
#  1.     This program, including its structure, sequence and organization, constitutes the valuable trade
#  secrets of Broadcom, and you shall use all reasonable efforts to protect the confidentiality thereof,
#  and to use this information only in connection with your use of Broadcom integrated circuit products.
#
#  2.     TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS"
#  AND WITH ALL FAULTS AND BROADCOM MAKES NO PROMISES, REPRESENTATIONS OR
#  WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH RESPECT TO
#  THE SOFTWARE.  BROADCOM SPECIFICALLY DISCLAIMS ANY AND ALL IMPLIED WARRANTIES
#  OF TITLE, MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE,
#  LACK OF VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION
#  OR CORRESPONDENCE TO DESCRIPTION. YOU ASSUME THE ENTIRE RISK ARISING OUT OF
#  USE OR PERFORMANCE OF THE SOFTWARE.
#
#  3.     TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL BROADCOM OR ITS
#  LICENSORS BE LIABLE FOR (i) CONSEQUENTIAL, INCIDENTAL, SPECIAL, INDIRECT, OR
#  EXEMPLARY DAMAGES WHATSOEVER ARISING OUT OF OR IN ANY WAY RELATING TO YOUR
#  USE OF OR INABILITY TO USE THE SOFTWARE EVEN IF BROADCOM HAS BEEN ADVISED OF
#  THE POSSIBILITY OF SUCH DAMAGES; OR (ii) ANY AMOUNT IN EXCESS OF THE AMOUNT
#  ACTUALLY PAID FOR THE SOFTWARE ITSELF OR U.S. $1, WHICHEVER IS GREATER. THESE
#  LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF
#  ANY LIMITED REMEDY.
###############################################################################

RMF_DIR=$(RDK_DIR)/mediaframework
include $(RMF_DIR)/config.mak

INCLUDES +=     -I${RDK_DIR}/opensource/target-snmp/include/ \
		-I$(RMF_DIR)/osal/include \
                -I${RMF_DIR}/qamsource/podmgr/podserver/inc/ \
                -I${RMF_DIR}/qamsource/podmgr/podserver/utils/ \
                -I${RMF_DIR}/osal/utils/inc/ \
		-I${RMF_DIR}/qamsource/podmgr/podserver/commonDownloadManager/ \
		-I${RMF_DIR}/platform/soc/soc_qamsource/hal/hal_include/ \
		-I${RMF_DIR}/platform/soc/soc_qamsource/hal/halmfr/ \
		-I${RMF_DIR}/platform/soc/soc_qamsource/hal/halplatform/ \
		-I${RMF_DIR}/snmp/halsnmp/ \
                -I${RMF_DIR}/snmp/snmpmanager/ \
                -I${RMF_DIR}/snmp/snmpinterface/ \
                -I${RMF_DIR}/snmp/ipcutils/ \
                -I${RMF_DIR}/snmp/ipcutils/utils \
                -I${RMF_DIR}/snmp/ipcclient/ \
		-I${RMF_DIR}/platform/soc/soc_qamsource/hal/haldsg/ \
		-I${RMF_DIR}/qamsource/podmgr/podserver/cardmanager/scm_pod_stack/diag/ \
		-I${RMF_DIR}/qamsource/simgr/oob/include/ \
		-I${RMF_DIR}/qamsource/podmgr/podserver/cardmanager/ \

CFLAGS += -DMERGE_INTEL \
                  -DENABLE_NEW_LOGSVR \
                  -DUSE_POD \
                  -DUSE_DSG \
                  -DUSE_CDL \
                  -DMPOD_SUPPORT \
                  -DUSE_MFR \
                  -DUSE_TUNER \
                  -DNV_RAM_READ \
                  -DENABLE_SNMP \
                  -DINTEL_PR13 \
                  -DINTEL_PR18 \
                  -DUSE_VIDSINK_API \
                  -DHAVE_STDINT_H \
                  -DMPE_FEATURE_DEBUG \
                  -DMPE_MEM_HANDLES \
                  -DRMF_OSAL_LITTLE_ENDIAN \
                  -DLINUX \
                  -DUSE_CC_GETTIMEOFDAY \
                  -DGCC4_XXX \
                  -DUSE_FULL_SNMP \

LD_FLAGS+=  $(INTERNAL_LIBS)  -L$(BUILD_DIR)/lib -lipcutils -lsnmpmanager \
		-lhalsnmp -lsnmpinterface \
		-lipcclient
SRC_DIR=.
LIBNAME=halsnmp
LIBFILE=lib$(LIBNAME).so
OBJ_DIR=$(BUILD_DIR)/objs_$(LIBNAME)

CFLAGS+= $(INCLUDES)

OBJS=$(OBJ_DIR)/vlHalSnmpAvOutInterface.o \
	$(OBJ_DIR)/vlHalSnmpTunerInterface.o \
	$(OBJ_DIR)/vlHalSnmpUtils.o \


.PHONY : all clean
all: $(LIBFILE)

$(LIBFILE): $(OBJ_DIR) $(OBJS)
	$(CC) $(OBJS) -shared -o $(LIBFILE)
	cp $(LIBFILE) $(OBJ_DIR)
	cp $(LIBFILE) $(BUILD_DIR)/lib/

$(OBJ_DIR)/%.o :$(SRC_DIR)/%.c
	$(CC) -c -o $@ $< $(CFLAGS) $(LD_FLAGS)

$(OBJ_DIR):
	mkdir -p $(OBJ_DIR)

clean :
	rm -rf $(OBJ_DIR) $(LIBFILE) *~

