################################################################################
#
# MobiCore Makefile Template
#
################################################################################

### this is our home dir
TRUSTLET_DIR := ../src
BUILD_DIR := ../build

### Secure Driver ###
SECDRIVER_DIR := ../driver/$(PRODUCT_TRUSTZONE_TYPE)

TLC_DIR := ../../../nwd/libhdcp2
CUSTOMER_DRIVER_LIBS += \
	$(SECDRIVER_DIR)/secdrv.lib \
	$(SECDRIVER_DIR)/fcdrv.lib

ifneq ($(WITHOUT_KEYMANDRV), true)
	CUSTOMER_DRIVER_LIBS += $(SECDRIVER_DIR)/secdrv_keyman.lib
endif

#-------------------------------------------------------------------------------
# Output
#-------------------------------------------------------------------------------
### output name without path or extension
OUTPUT_NAME := tz_hdcp2_receiver

### Mobiconvert parameters
TRUSTLET_UUID := ffffffff000000000000000000000005
TRUSTLET_MEMTYPE := 2           # 2: ERAM
TRUSTLET_NO_OF_THREADS := 1     # min =1; max =8
TRUSTLET_SERVICE_TYPE := 3      # 1: driver; 2: service provider trustlet; 3: system trustlet

ifeq ($(PRODUCT_TRUSTZONE_TYPE), apq8064)
	TRUSTLET_KEYFILE := ../../../../../hdcp2/swd/tz_hdcp2/Locals/Build/pairVendorTltSig.pem
else
	TRUSTLET_KEYFILE := ./key.xml
endif

TRUSTLET_INSTANCES := 1
TRUSTLET_FLAGS:= 0

#-------------------------------------------------------------------------------
# Files and include paths - Add your files here
#-------------------------------------------------------------------------------

### A simple scatter file and set SCATTER_FILE.
### Uncomment this to use a custom scatter file $(OUTPUT_NAME).sct
### Add include path here
INCLUDE_DIRS += \
	$(COMP_PATH_ROOT)/AndroidIntegration/mobicore/daemon/ClientLib/public \
	$(TLC_DIR)/common \
	$(TLC_DIR)/kinibi \
	$(TLC_DIR)/kinibi/include \
	$(TRUSTLET_DIR) \
	$(TRUSTLET_DIR)/public \
	$(SECDRIVER_DIR) \
	$(COMP_PATH_ROOT)/$(COMP_PATH_DrSdk)/Public/MobiCore/inc \
	$(COMP_PATH_ROOT)/$(COMP_PATH_DrSdk)/Public \
	$(COMP_PATH_ROOT)/$(COMP_PATH_TlSdk)/Out/Public \
	$(COMP_PATH_ROOT)/$(COMP_PATH_TlSdk)/Public \
	$(COMP_PATH_ROOT)/$(COMP_PATH_TlSdk)/Out/Public/MobiCore/inc

### Add source code files for C++ compiler here
SRC_CPP += \
	$(TRUSTLET_DIR)/tz_hdcp2.c \
	$(TRUSTLET_DIR)/tz_hdcp2_crypto.c \
	$(TRUSTLET_DIR)/tz_hdcp2_receiver.c \
	$(TRUSTLET_DIR)/tz_hdcp2_transmitter.c \

### Add source code files for C compiler here
SRC_C += #nothing

### Add source code files for assembler here
SRC_S += #nothing

#-------------------------------------------------------------------------------
ifeq ($(USE_MC30), true)
	include $(BUILD_DIR)/trustlet_MC30.mk
endif

ifeq ($(USE_MC31), true)
	include $(BUILD_DIR)/trustlet_MC31.mk
endif

ifeq ($(USE_MC32), true)
	include $(BUILD_DIR)/trustlet_MC32.mk
endif

ifeq ($(USE_MC310), true)
	include $(BUILD_DIR)/trustlet_MC310.mk
endif

ifeq ($(USE_MC311), true)
	include $(BUILD_DIR)/trustlet_MC311.mk
endif

ifeq ($(USE_MC400), true)
	include $(BUILD_DIR)/trustlet_MC400.mk
endif

#-------------------------------------------------------------------------------
# CONFIG
CC_OPTS += -DUSE_MOBICORE -D$(CHIP)

ifeq ($(DEBUG), true)
	CC_OPTS += -DDEBUG
endif

ifeq ($(USE_MC30), true)
	CC_OPTS += -DUSE_MC30
endif

ifeq ($(CONFIG_KERNEL_ARCH32), true)
	CC_OPTS += -DCONFIG_KERNEL_ARCH32
endif

ifeq ($(WITHOUT_KEYMANDRV), true)
	CC_OPTS += -DWITHOUT_KEYMANDRV
endif

ifeq ($(USE_HDCP2FLAG), true)
	CC_OPTS += -DUSE_HDCP2FLAG
endif

ifeq ($(USE_64BIT_ADDR), true)
	CC_OPTS += -DUSE_64BIT_ADDR
endif
