# Build qsee library.

# Common parameters:
# - LOCAL_SDK_PATH
# - LOCAL_NAME
# Optional:
# - LOCAL_INCLUDE_DIRS
# - LOCAL_EXPORT_INCLUDE_DIRS
# - LOCAL_SRC_LIB_C
# - LOCAL_SRC_CPP
# - LOCAL_SRC_C
# - LOCAL_SRC_S
# - LOCAL_CFLAGS
# - LOCAL_CPPFLAGS

_sdk_dir := $(realpath $(dir $(lastword $(MAKEFILE_LIST))))

#############################
# Include common build part #
#############################

include $(_sdk_dir)/build-qsee-common.mk

#####################################
# Include final goal to get library #
#####################################

include $(_sdk_dir)/build-binary-goal-lib.mk

_local_sdk_path := $(LOCAL_SDK_PATH)
_local_chip := $(LOCAL_CHIP)
_local_build_tool := $(LOCAL_BUILD_TOOL)
_local_qsee_proc := $(LOCAL_QSEE_PROC)
_local_link_gp_tee := $(LOCAL_LINK_GP_TEE)
_local_armcc_license := $(LOCAL_ARMCC_LICENSE)
_local_armcc_path := $(LOCAL_ARMCC_PATH)
_local_qsee_app_name := $(LOCAL_NAME)
_local_uuid := $(LOCAL_UUID)
_local_group_id := $(LOCAL_GROUP_ID)
_local_fips_crypto := $(LOCAL_FIPS_CRYPTO)
_local_target_name := $(LOCAL_TARGET_NAME)
_local_out := $(LOCAL_OUT)
_local_qsee_branch := $(LOCAL_QSEE_BRANCH)
_local_include_dirs := $(LOCAL_INCLUDE_DIRS)

##############
# Clear vars #
##############

include $(_sdk_dir)/clear-vars.mk

####################
# Include TEE base #
####################

ifeq ($(_local_link_gp_tee),y)
  ifneq ($(_lib_qsee_gp_api_$(_local_uuid)_$(_local_build_tool)_$(_local_qsee_proc)_$(_local_chip)_$(_local_target_name)),included)
    LOCAL_SDK_PATH := $(_local_sdk_path)
    LOCAL_CHIP := $(_local_chip)
    LOCAL_BUILD_TOOL := $(_local_build_tool)
    LOCAL_QSEE_PROC := $(_local_qsee_proc)
    LOCAL_ARMCC_LICENSE := $(_local_armcc_license)
    LOCAL_ARMCC_PATH := $(_local_armcc_path)
    LOCAL_QSEE_APP_NAME := $(_local_qsee_app_name)
    LOCAL_UUID := $(_local_uuid)
    LOCAL_GROUP_ID := $(_local_group_id)
    LOCAL_FIPS_CRYPTO := $(_local_fips_crypto)
    LOCAL_TARGET_NAME := $(_local_target_name)
    LOCAL_OUT := $(_local_out)
    LOCAL_QSEE_BRANCH := $(_local_qsee_branch)
    LOCAL_INCLUDE_DIRS := $(_local_include_dirs)
    include $(_sdk_dir)/../source/gp-api/tee-qsee.mk

    _lib_qsee_gp_api_$(_local_uuid)_$(_local_build_tool)_$(_local_qsee_proc)_$(_local_chip)_$(_local_target_name) := included
  endif
endif
