##################################################################################
# ICCC library support
# TEEGRIS 4 - TA-to-TA ICCC / MT6833 MT6769T MT6739 MT6765 MT6853 exynos2100 exynos9830 exynos9630 exynos3830 exynos9810 exynos7904
#           - Guardian-M TA-to-TA ICCC / MT8768T
# TEEGRIS 3 - legacy ICCC / exynos9820 exynos9610 exynos7904 exynos7885
##################################################################################
ifeq ($(TEEGRIS_BUILD_MODEL), $(filter $(TEEGRIS_BUILD_MODEL),MT6833 MT6877 MT8768T MT6769T MT6739 MT6765 MT6853 exynos2100 exynos9830 exynos9630 exynos3830 exynos9810 exynos7904 s5e9925 s5e8825))
    ifeq ($(TEEGRIS_PLATFORM_VERSION_MAJOR), 4)
        ifeq ($(ICCC_GRDM_FEATURE), true)
            $(info **** Supports ICCC v4 Guardian-M ****)
            $(info **** CHIPSET - $(TEEGRIS_BUILD_MODEL), TEEGRIS - $(TEEGRIS_PLATFORM_VERSION_MAJOR) ****)
            ICCC_INCLUDE_DIRS = -I$(TRUSTLET_DIR)/../tz_icccgrd_common/public
            ICCC_LIBS = $(TRUSTLET_DIR)/../tz_icccgrd_common/ol/icccOperations_grdm.ol
        else
            ifeq ($(TEEGRIS_BUILD_MODEL), $(filter $(TEEGRIS_BUILD_MODEL), s5e9925 s5e8825 MT6877))
                $(info **** Supports ICCC v4 64bit****)
                $(info **** CHIPSET - $(TEEGRIS_BUILD_MODEL), TEEGRIS - $(TEEGRIS_PLATFORM_VERSION_MAJOR) ****)
                ICCC_CFLAGS = -DICCC_v4
                ICCC_INCLUDE_DIRS = -I$(TRUSTLET_DIR)/../tz_iccc_common/public
                ICCC_LIBS = $(TRUSTLET_DIR)/../tz_iccc_common/ol/64bit/icccOperations.ol
            else
                $(info **** Supports ICCC v4 ****)
                $(info **** CHIPSET - $(TEEGRIS_BUILD_MODEL), TEEGRIS - $(TEEGRIS_PLATFORM_VERSION_MAJOR) ****)
                ICCC_CFLAGS = -DICCC_v4
                ICCC_INCLUDE_DIRS = -I$(TRUSTLET_DIR)/../tz_iccc_common/public
                ICCC_LIBS = $(TRUSTLET_DIR)/../tz_iccc_common/ol/icccOperations.ol
            endif
        endif
    else
        $(info **** Supports ICCC legacy ****)
        $(info **** CHIPSET - $(TEEGRIS_BUILD_MODEL), TEEGRIS - $(TEEGRIS_PLATFORM_VERSION_MAJOR) ****)
        ICCC_INCLUDE_DIRS = -I$(TRUSTLET_DIR)/../tz_iccc_common/public
        ifneq ($(TEEGRIS_SECUREMEM_SIZE), )
            $(info **** TEEGRIS_SECUREMEM_SIZE - $(TEEGRIS_SECUREMEM_SIZE) ****)
            ICCC_LIBS  = $(TRUSTLET_DIR)/../tz_iccc_common/ol/$(TEEGRIS_BUILD_MODEL)_$(TEEGRIS_SECUREMEM_SIZE)/icccOperations.ol
            ICCC_LIBS += $(TRUSTLET_DIR)/../tz_iccc_common/ol/$(TEEGRIS_BUILD_MODEL)_$(TEEGRIS_SECUREMEM_SIZE)/tl_tz_iccc_init.ol
        else
            ICCC_LIBS  = $(TRUSTLET_DIR)/../tz_iccc_common/ol/$(TEEGRIS_BUILD_MODEL)/icccOperations.ol
            ICCC_LIBS += $(TRUSTLET_DIR)/../tz_iccc_common/ol/$(TEEGRIS_BUILD_MODEL)/tl_tz_iccc_init.ol
        endif
    endif
else
    $(info **** Supports ICCC legacy. Out of TEEGRIS_BUILD_MODEL ****)
    $(info **** CHIPSET - $(TEEGRIS_BUILD_MODEL), TEEGRIS - $(TEEGRIS_PLATFORM_VERSION_MAJOR) ****)
    ICCC_INCLUDE_DIRS = -I$(TRUSTLET_DIR)/../tz_iccc_common/public
    ICCC_LIBS  = $(TRUSTLET_DIR)/../tz_iccc_common/ol/$(TEEGRIS_BUILD_MODEL)/icccOperations.ol
    ICCC_LIBS += $(TRUSTLET_DIR)/../tz_iccc_common/ol/$(TEEGRIS_BUILD_MODEL)/tl_tz_iccc_init.ol
endif

CFLAGS += $(ICCC_CFLAGS)
INCLUDE_DIRS += $(ICCC_INCLUDE_DIRS)
LIBS += $(ICCC_LIBS)
