#
# ============================================================================
# RDK MANAGEMENT, LLC CONFIDENTIAL AND PROPRIETARY
# ============================================================================
# This file (and its contents) are the intellectual property of RDK Management, LLC.
# It may not be used, copied, distributed or otherwise  disclosed in whole or in
# part without the express written permission of RDK Management, LLC.
# ============================================================================
# Copyright (c) 2016 RDK Management, LLC. All rights reserved.
# ============================================================================
#

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


#CFLAGS?=  -Wno-format -Wunused -DUSE_CC_GETTIMEOFDAY -DRMF_OSAL_FEATURE_IPV6 -DRMF_OSAL_LITTLE_ENDIAN
#CFLAGS?=  -Wno-format -Wunused -DRMF_OSAL_FEATURE_IPV6 -DRMF_OSAL_LITTLE_ENDIAN
ARFLAGS?=rcs
SRC_DIR=src
TST_DIR=test
TST_BIN=sectionfilter_test
TST_FLAGS=-lpthread
PODMGR_DIR=$(RMF_DIR)/qamsource/podmgr

LIBNAME=sectionfilter
INBLIBNAME=inbsectionfilter
OOBLIBNAME=oobsectionfilter

OBJ_DIR=$(BUILD_DIR)/objs_$(LIBNAME)
LIBFILE=$(LIBDIR)/lib$(LIBNAME).so
INBLIBFILE=$(LIBDIR)/lib$(INBLIBNAME).so
OOBLIBFILE=$(LIBDIR)/lib$(OOBLIBNAME).so

INCLUDES+= -I include \
	   -I $(PODMGR_DIR)/podserver/inc
 
SF_CFLAGS += ${CFLAGS} $(INCLUDES)
OBJS= $(OBJ_DIR)/rmf_sectionfilter.o \
			$(OBJ_DIR)/rmf_symboltable.o \
			$(OBJ_DIR)/rmf_sectionfilter_util.o

INBOBJS= $(OBJ_DIR)/rmf_sectionfilter_inb.o


OOBOBJS += $(OBJ_DIR)/rmf_sectionfilter_dsg_appid.o \
			$(OBJ_DIR)/rmf_sectionfilter_oob.o

ALLDEPS=$(LIBFILE) $(INBLIBFILE) 

ifdef TEST_WITH_PODMGR
ALLDEPS+= $(OOBLIBFILE)
endif

.PHONY : all clean

all: $(ALLDEPS)

$(LIBFILE): $(LIBDIR) $(OBJ_DIR) $(OBJS)
	$(CXX) -shared -lc -lrt -o $@ $(SF_CFLAGS) ${OBJS}

$(INBLIBFILE): $(INBOBJS)
	$(CXX) -shared -l$(LIBNAME) -L$(LIBDIR) -lc -lrt -o $@ $(SF_CFLAGS) ${INBOBJS}

$(OOBLIBFILE): $(OOBOBJS)
	$(CXX) -shared -l$(LIBNAME) -L$(LIBDIR) -lc -lrt -o $@ $(SF_CFLAGS) ${OOBOBJS}

$(OBJ_DIR)/%.o :$(SRC_DIR)/%.cpp
	$(CC) -c -o $@ $< $(SF_CFLAGS)
	
$(OBJ_DIR):
	mkdir $(OBJ_DIR)

$(LIBDIR):
	mkdir -p $(LIBDIR)

clean :
	rm -rf $(OBJ_DIR) $(LIBFILE) $(INBLIBFILE) $(OOBLIBFILE)
