### Prebuilt SCrypto libraries #################################################
# Scrypto library parameters here (used by local build) should be coordinated with
# //CONFIDENTIAL/TRUSTEDAPPS/SDK/SCRYPTO/set_scrypto.sh file (used by QuickBuild).
PROCA_TZ_SCRYPTO_USE_EXTERNAL:= $(strip $(if $(PROCA_TZ_SCRYPTO_LIB),Y) $(if $(PROCA_TZ_SCRYPTO_HEADER_PATH),Y) $(if $(PROCA_TZ_SCRYPTO_TOOLS_IMPRINT),Y))

ifneq ($(if $(PROCA_TZ_SCRYPTO_USE_EXTERNAL),$(PROCA_TZ_SCRYPTO_USE_EXTERNAL),Y Y Y),Y Y Y)
  $(error PROCA_TZ_SCRYPTO_LIB PROCA_TZ_SCRYPTO_HEADER_PATH PROCA_TZ_SCRYPTO_TOOLS_IMPRINT should be declared all or nothing)
endif

LOCAL_NAME := scrypto

ifeq ($(PROCA_TZ_SCRYPTO_USE_EXTERNAL),)
  LOCAL_EXPORT_LIBRARY-sdm710 := $(realpath thirdparty/scrypto_v2.2/libs/scrypto_v2.2_x64_qsee_release.a)
  LOCAL_EXPORT_LIBRARY-sm6150 := $(realpath thirdparty/scrypto_v2.4/libs/scrypto_v2.4_x64_qsee_release.a)
  LOCAL_EXPORT_LIBRARY-sm6225 := $(realpath thirdparty/scrypto_v2.5/libs/scrypto_v2.5_x64_qsee_release.a)
  LOCAL_EXPORT_LIBRARY-sm7125 := $(realpath thirdparty/scrypto_v2.5/libs/scrypto_v2.5_x64_qsee_release.a)
  LOCAL_EXPORT_LIBRARY-sm7150 := $(realpath thirdparty/scrypto_v2.4/libs/scrypto_v2.4_x64_qsee_release.a)
  LOCAL_EXPORT_LIBRARY-sm7225 := $(realpath thirdparty/scrypto_v2.5/libs/scrypto_v2.5_x64_qsee_release.a)
  LOCAL_EXPORT_LIBRARY-sm7225_32 := $(realpath thirdparty/scrypto_v2.5/libs/scrypto_v2.5_x32_qsee_release.a)
  LOCAL_EXPORT_LIBRARY-sm7250 := $(realpath thirdparty/scrypto_v2.5/libs/scrypto_v2.5_x64_qsee_release.a)
  LOCAL_EXPORT_LIBRARY-sm7250_32 := $(realpath thirdparty/scrypto_v2.5/libs/scrypto_v2.5_x32_qsee_release.a)
  LOCAL_EXPORT_LIBRARY-sm7325 := $(realpath thirdparty/scrypto_v2.5/libs/scrypto_v2.5_x64_qsee_release.a)
  LOCAL_EXPORT_LIBRARY-sm8150 := $(realpath thirdparty/scrypto_v2.4/libs/scrypto_v2.4_x64_qsee_release.a)
  LOCAL_EXPORT_LIBRARY-sm8150_32 := $(realpath thirdparty/scrypto_v2.4/libs/scrypto_v2.4_x32_qsee_release.a)
  LOCAL_EXPORT_LIBRARY-sm8250 := $(realpath thirdparty/scrypto_v2.5/libs/scrypto_v2.5_x64_qsee_release.a)
  LOCAL_EXPORT_LIBRARY-sm8250_32 := $(realpath thirdparty/scrypto_v2.5/libs/scrypto_v2.5_x32_qsee_release.a)
  LOCAL_EXPORT_LIBRARY-sm8350 := $(realpath thirdparty/scrypto_v2.5/libs/scrypto_v2.5_x64_qsee_release.a)
  LOCAL_EXPORT_LIBRARY-sm8350_la11 := $(realpath thirdparty/scrypto_v2.5/libs/scrypto_v2.5_x64_qsee_release.a)
  LOCAL_EXPORT_LIBRARY-sm8450 := $(realpath thirdparty/scrypto_v2.5/libs/scrypto_v2.5_x64_qsee_release.a)
else
  LOCAL_EXPORT_LIBRARY := $(PROCA_TZ_SCRYPTO_LIB)
endif

ifeq ($(PROCA_TZ_SCRYPTO_USE_EXTERNAL),)
  LOCAL_EXPORT_INCLUDE_DIRS :=
  LOCAL_EXPORT_INCLUDE_DIRS-sdm710 := thirdparty/scrypto_v2.2/include
  LOCAL_EXPORT_INCLUDE_DIRS-sm6150 := thirdparty/scrypto_v2.4/include
  LOCAL_EXPORT_INCLUDE_DIRS-sm6225 := thirdparty/scrypto_v2.5/include
  LOCAL_EXPORT_INCLUDE_DIRS-sm7125 := thirdparty/scrypto_v2.5/include
  LOCAL_EXPORT_INCLUDE_DIRS-sm7150 := thirdparty/scrypto_v2.4/include
  LOCAL_EXPORT_INCLUDE_DIRS-sm7225 := thirdparty/scrypto_v2.5/include
  LOCAL_EXPORT_INCLUDE_DIRS-sm7225_32 := thirdparty/scrypto_v2.5/include
  LOCAL_EXPORT_INCLUDE_DIRS-sm7250 := thirdparty/scrypto_v2.5/include
  LOCAL_EXPORT_INCLUDE_DIRS-sm7250_32 := thirdparty/scrypto_v2.5/include
  LOCAL_EXPORT_INCLUDE_DIRS-sm7325 := thirdparty/scrypto_v2.5/include
  LOCAL_EXPORT_INCLUDE_DIRS-sm8150 := thirdparty/scrypto_v2.4/include
  LOCAL_EXPORT_INCLUDE_DIRS-sm8150_32 := thirdparty/scrypto_v2.4/include
  LOCAL_EXPORT_INCLUDE_DIRS-sm8250 := thirdparty/scrypto_v2.5/include
  LOCAL_EXPORT_INCLUDE_DIRS-sm8250_32 := thirdparty/scrypto_v2.5/include
  LOCAL_EXPORT_INCLUDE_DIRS-sm8350 := thirdparty/scrypto_v2.5/include
  LOCAL_EXPORT_INCLUDE_DIRS-sm8350_la11 := thirdparty/scrypto_v2.5/include
  LOCAL_EXPORT_INCLUDE_DIRS-sm8450 := thirdparty/scrypto_v2.5/include
else
  LOCAL_EXPORT_INCLUDE_DIRS := $(PROCA_TZ_SCRYPTO_HEADER_PATH)
endif

# sdm670 hardcoded as 2.2 and sdm710 hardcoded as 2.4 in
# //CONFIDENTIAL/TRUSTEDAPPS/SDK/SCRYPTO/set_scrypto.sh file.
# We are using sdm710 as an alias for sdm670 localbuild.
# Don't define constants for them:
#  LOCAL_EXPORT_CFLAGS-sdm670 := -DUSE_SCRYPTO_VER#_#
#  LOCAL_EXPORT_CFLAGS-sdm710 := -DUSE_SCRYPTO_VER#_#
LOCAL_EXPORT_CFLAGS-sm6150 := -DUSE_SCRYPTO_VER2_4
LOCAL_EXPORT_CFLAGS-sm6225 := -DUSE_SCRYPTO_VER2_4
LOCAL_EXPORT_CFLAGS-sm7125 := -DUSE_SCRYPTO_VER2_4
LOCAL_EXPORT_CFLAGS-sm7150 := -DUSE_SCRYPTO_VER2_4
LOCAL_EXPORT_CFLAGS-sm7225 := -DUSE_SCRYPTO_VER2_4
LOCAL_EXPORT_CFLAGS-sm7225_32 := -DUSE_SCRYPTO_VER2_4
LOCAL_EXPORT_CFLAGS-sm7250 := -DUSE_SCRYPTO_VER2_4
LOCAL_EXPORT_CFLAGS-sm7250_32 := -DUSE_SCRYPTO_VER2_4
LOCAL_EXPORT_CFLAGS-sm7325 := -DUSE_SCRYPTO_VER2_4
LOCAL_EXPORT_CFLAGS-sm8150 := -DUSE_SCRYPTO_VER2_4
LOCAL_EXPORT_CFLAGS-sm8150_32 := -DUSE_SCRYPTO_VER2_4
LOCAL_EXPORT_CFLAGS-sm8250 := -DUSE_SCRYPTO_VER2_4
LOCAL_EXPORT_CFLAGS-sm8250_32 := -DUSE_SCRYPTO_VER2_4
LOCAL_EXPORT_CFLAGS-sm8350 := -DUSE_SCRYPTO_VER2_4
LOCAL_EXPORT_CFLAGS-sm8350_la11 := -DUSE_SCRYPTO_VER2_4
LOCAL_EXPORT_CFLAGS-sm8450 := -DUSE_SCRYPTO_VER2_4

include $(PREBUILT_TARGET_STATIC_LIBRARY)

### Build PA driver ############################################################
LOCAL_NAME := proca

LOCAL_UUID :=
LOCAL_UUID-tbase := $(CONFIG_TBASE_PA_DRIVER_UUID)
LOCAL_UUID-blowfish := $(CONFIG_TEEGRIS_PA_DRIVER_UUID)
LOCAL_UUID-teegris := $(CONFIG_TEEGRIS_PA_DRIVER_UUID)
LOCAL_UUID-qsee := $(CONFIG_QSEE_PA_DRIVER_UUID)

# tbase part
LOCAL_DRIVER_ID-tbase := $(CONFIG_TBASE_DRIVER_ID)
LOCAL_API_LEVEL-exynos7885 := $(CONFIG_TBASE_DRIVER_API_LEVEL)
LOCAL_API_LEVEL-exynos9810 := $(CONFIG_TBASE_DRIVER_API_LEVEL)
LOCAL_API_LEVEL-mt6768 := 11
LOCAL_API_LEVEL-exynos9810-500 := 11

# qsee part
LOCAL_DRIVER_ID-qsee := ProcessAuthenticator
LOCAL_QSEE_PRIVILEGES-sdm710 := WhitelistBypass
LOCAL_QSEE_PRIVILEGES-sm6150 := WhitelistBypass
LOCAL_QSEE_PRIVILEGES-sm6225 := WhitelistBypass System HlosRegionFinder
LOCAL_QSEE_PRIVILEGES-sm7125 := WhitelistBypass
LOCAL_QSEE_PRIVILEGES-sm7150 := WhitelistBypass
LOCAL_QSEE_PRIVILEGES-sm7225 := WhitelistBypass
LOCAL_QSEE_PRIVILEGES-sm7250 := WhitelistBypass
LOCAL_QSEE_PRIVILEGES-sm7325 := WhitelistBypass System HlosRegionFinder
LOCAL_QSEE_PRIVILEGES-sm8150 := WhitelistBypass
LOCAL_QSEE_PRIVILEGES-sdm845 := WhitelistBypass
LOCAL_QSEE_PRIVILEGES-sm8250 := WhitelistBypass
LOCAL_QSEE_PRIVILEGES-sm8350 := WhitelistBypass System HlosRegionFinder
LOCAL_QSEE_PRIVILEGES-sm8350_la11 := WhitelistBypass System HlosRegionFinder
LOCAL_QSEE_PRIVILEGES-sm8450 := WhitelistBypassRO System HlosRegionFinder
LOCAL_QSEE_ACCEPT_BUFFER_SIZE := 819200

# blowfish part
LOCAL_GROUP_ID := samsung_drv

LOCAL_SRC_C := $(wildcard pa_tz_drv/src/*.c)

LOCAL_SRC_C-tbase := $(wildcard pa_tz_drv/arch/dr_tbase_*.c)
LOCAL_SRC_C-blowfish := $(wildcard pa_tz_drv/arch/dr_bf*.c)
LOCAL_SRC_C-teegris := $(wildcard pa_tz_drv/arch/dr_bf*.c)
LOCAL_SRC_C-qsee := pa_tz_drv/arch/dr_qsee_main.c \
                    pa_tz_drv/arch/dr_qsee_allowlist.c \
                    pa_tz_drv/arch/dr_qsee_mem.c \
                    pa_tz_drv/arch/dr_qsee_device_compromised.c \
                    pa_tz_drv/arch/dr_log_kmsg.c

LOCAL_SRC_C-sdm845 += pa_tz_drv/arch/dr_qsee_cached_map.c
LOCAL_SRC_C-sdm845_32 += pa_tz_drv/arch/dr_qsee_cached_map.c
LOCAL_SRC_C-sdm710 += pa_tz_drv/arch/dr_qsee_cached_map.c
LOCAL_SRC_C-sm6150 += pa_tz_drv/arch/dr_qsee_cached_map.c
LOCAL_SRC_C-sm6225 += pa_tz_drv/arch/dr_qsee_cached_map.c
LOCAL_SRC_C-sm7125 += pa_tz_drv/arch/dr_qsee_cached_map.c
LOCAL_SRC_C-sm7150 += pa_tz_drv/arch/dr_qsee_cached_map.c
LOCAL_SRC_C-sm7225 += pa_tz_drv/arch/dr_qsee_cached_map.c
LOCAL_SRC_C-sm7225_32 += pa_tz_drv/arch/dr_qsee_cached_map.c
LOCAL_SRC_C-sm7250 += pa_tz_drv/arch/dr_qsee_cached_map.c
LOCAL_SRC_C-sm7250_32 += pa_tz_drv/arch/dr_qsee_cached_map.c
LOCAL_SRC_C-sm7325 += pa_tz_drv/arch/dr_qsee_cached_map.c
LOCAL_SRC_C-sm8150 += pa_tz_drv/arch/dr_qsee_cached_map.c
LOCAL_SRC_C-sm8150_32 += pa_tz_drv/arch/dr_qsee_cached_map.c
LOCAL_SRC_C-sm8250 += pa_tz_drv/arch/dr_qsee_cached_map.c
LOCAL_SRC_C-sm8250_32 += pa_tz_drv/arch/dr_qsee_cached_map.c
LOCAL_SRC_C-sm8350 += pa_tz_drv/arch/dr_qsee_cached_map.c
LOCAL_SRC_C-sm8350_la11 += pa_tz_drv/arch/dr_qsee_cached_map.c
LOCAL_SRC_C-sm8450 += pa_tz_drv/arch/dr_qsee_cached_map.c

LOCAL_SRC_C-exynos850 += pa_tz_drv/arch/dr_kernel_exynos_4xx.c
LOCAL_SRC_C-exynos7884 += pa_tz_drv/arch/dr_kernel_exynos_4xx.c
LOCAL_SRC_C-exynos7885 += pa_tz_drv/arch/dr_kernel_exynos_4xx.c
LOCAL_SRC_C-exynos7885-tbase += pa_tz_drv/arch/dr_exynos_tbase_device_compromised.c
LOCAL_SRC_C-exynos7904 += pa_tz_drv/arch/dr_kernel_exynos_4xx.c
LOCAL_SRC_C-exynos9610 += pa_tz_drv/arch/dr_kernel_exynos_4xx.c
LOCAL_SRC_C-exynos9810 += pa_tz_drv/arch/dr_kernel_exynos_4xx.c
LOCAL_SRC_C-exynos9810-tbase += pa_tz_drv/arch/dr_exynos_tbase_device_compromised.c
LOCAL_SRC_C-mt6769t += pa_tz_drv/arch/dr_kernel_mtk.c
LOCAL_SRC_C-mt6768 += pa_tz_drv/arch/dr_kernel_mtk.c \
                      pa_tz_drv/arch/dr_mtk_tbase_device_compromised.c
LOCAL_SRC_C-mt6833 += pa_tz_drv/arch/dr_kernel_mtk.c
LOCAL_SRC_C-mt6853 += pa_tz_drv/arch/dr_kernel_mtk.c
LOCAL_SRC_C-mt6877 += pa_tz_drv/arch/dr_kernel_mtk.c
LOCAL_SRC_C-exynos9810-500 += pa_tz_drv/arch/dr_kernel_exynos_4xx.c \
                      pa_tz_drv/arch/dr_exynos_tbase_device_compromised.c
LOCAL_SRC_C-exynos9820 += pa_tz_drv/arch/dr_kernel_exynos_4xx.c
LOCAL_SRC_C-exynos9820_64 += pa_tz_drv/arch/dr_kernel_exynos_4xx.c
LOCAL_SRC_C-exynos9830 += pa_tz_drv/arch/dr_kernel_exynos_4xx.c
LOCAL_SRC_C-exynos9630 += pa_tz_drv/arch/dr_kernel_exynos_4xx.c
LOCAL_SRC_C-exynos2100 += pa_tz_drv/arch/dr_kernel_exynos_4xx.c
LOCAL_SRC_C-exynos2100_64 += pa_tz_drv/arch/dr_kernel_exynos_4xx.c
LOCAL_SRC_C-s5e8825 += pa_tz_drv/arch/dr_kernel_s5e9925.c
LOCAL_SRC_C-s5e9925 += pa_tz_drv/arch/dr_kernel_s5e9925.c
LOCAL_SRC_C-sdm845 += pa_tz_drv/arch/dr_kernel_qsee.c
LOCAL_SRC_C-sdm845_32 += pa_tz_drv/arch/dr_kernel_qsee.c
LOCAL_SRC_C-sdm710 += pa_tz_drv/arch/dr_kernel_qsee.c
LOCAL_SRC_C-sm6150 += pa_tz_drv/arch/dr_kernel_qsee.c
LOCAL_SRC_C-sm6225 += pa_tz_drv/arch/dr_kernel_sm6225.c
LOCAL_SRC_C-sm7125 += pa_tz_drv/arch/dr_kernel_sm7125.c
LOCAL_SRC_C-sm7150 += pa_tz_drv/arch/dr_kernel_qsee.c
LOCAL_SRC_C-sm8150 += pa_tz_drv/arch/dr_kernel_qsee.c
LOCAL_SRC_C-sm8150_32 += pa_tz_drv/arch/dr_kernel_qsee.c

LOCAL_SRC_C-sm7225 += pa_tz_drv/arch/dr_kernel_sm7225.c
LOCAL_SRC_C-sm7225_32 += pa_tz_drv/arch/dr_kernel_sm7225.c
LOCAL_SRC_C-sm7250 += pa_tz_drv/arch/dr_kernel_sm7250.c
LOCAL_SRC_C-sm7250_32 += pa_tz_drv/arch/dr_kernel_sm7250.c
LOCAL_SRC_C-sm7325 += pa_tz_drv/arch/dr_kernel_sm8250.c
LOCAL_SRC_C-sm8250 += pa_tz_drv/arch/dr_kernel_sm8250.c
LOCAL_SRC_C-sm8250_32 += pa_tz_drv/arch/dr_kernel_sm8250.c
LOCAL_SRC_C-sm8350 += pa_tz_drv/arch/dr_kernel_sm8250.c
LOCAL_SRC_C-sm8350_la11 += pa_tz_drv/arch/dr_kernel_sm8250.c
LOCAL_SRC_C-sm8450 += pa_tz_drv/arch/dr_kernel_sm8450.c

LOCAL_INCLUDE_DIRS := pa_tz_drv/include pa_tz_drv/arch pa_tz_drv/src \
                      pa_tz_lib/include pa_nwd_lib/include

LOCAL_STATIC_LIBRARIES := asn1proto scl scrypto
LOCAL_LINK_GP_TEE := y

ifeq ($(PROCA_TZ_SCRYPTO_USE_EXTERNAL),)
  LOCAL_IMPRINT_TOOL-sdm710 := $(realpath thirdparty/scrypto_v2.2/tools/imprint)
  LOCAL_IMPRINT_TOOL-sm6150 := $(realpath thirdparty/scrypto_v2.4/tools/imprint)
  LOCAL_IMPRINT_TOOL-sm6225 := $(realpath thirdparty/scrypto_v2.5/tools/imprint256)
  LOCAL_IMPRINT_TOOL-sm7125 := $(realpath thirdparty/scrypto_v2.5/tools/imprint256)
  LOCAL_IMPRINT_TOOL-sm7150 := $(realpath thirdparty/scrypto_v2.4/tools/imprint)
  LOCAL_IMPRINT_TOOL-sm7225 := $(realpath thirdparty/scrypto_v2.5/tools/imprint256)
  LOCAL_IMPRINT_TOOL-sm7225_32 := $(realpath thirdparty/scrypto_v2.5/tools/imprint256)
  LOCAL_IMPRINT_TOOL-sm7250 := $(realpath thirdparty/scrypto_v2.5/tools/imprint256)
  LOCAL_IMPRINT_TOOL-sm7250_32 := $(realpath thirdparty/scrypto_v2.5/tools/imprint256)
  LOCAL_IMPRINT_TOOL-sm7325 := $(realpath thirdparty/scrypto_v2.5/tools/imprint256)
  LOCAL_IMPRINT_TOOL-sm8150 := $(realpath thirdparty/scrypto_v2.4/tools/imprint)
  LOCAL_IMPRINT_TOOL-sm8150_32 := $(realpath thirdparty/scrypto_v2.4/tools/imprint)
  LOCAL_IMPRINT_TOOL-sm8250 := $(realpath thirdparty/scrypto_v2.5/tools/imprint256)
  LOCAL_IMPRINT_TOOL-sm8250_32 := $(realpath thirdparty/scrypto_v2.5/tools/imprint256)
  LOCAL_IMPRINT_TOOL-sm8350 := $(realpath thirdparty/scrypto_v2.5/tools/imprint256)
  LOCAL_IMPRINT_TOOL-sm8350_la11 := $(realpath thirdparty/scrypto_v2.5/tools/imprint256)
  LOCAL_IMPRINT_TOOL-sm8450 := $(realpath thirdparty/scrypto_v2.5/tools/imprint256)
else
  LOCAL_IMPRINT_TOOL := $(PROCA_TZ_SCRYPTO_TOOLS_IMPRINT)
endif

LOCAL_FIPS_CRYPTO-sdm710 := y
LOCAL_FIPS_CRYPTO-sm6150 := y
LOCAL_FIPS_CRYPTO-sm6225 := y
LOCAL_FIPS_CRYPTO-sm7125 := y
LOCAL_FIPS_CRYPTO-sm7150 := y
LOCAL_FIPS_CRYPTO-sm7225 := y
LOCAL_FIPS_CRYPTO-sm7225_32 := y
LOCAL_FIPS_CRYPTO-sm7250 := y
LOCAL_FIPS_CRYPTO-sm7250_32 := y
LOCAL_FIPS_CRYPTO-sm7325 := y
LOCAL_FIPS_CRYPTO-sm8150 := y
LOCAL_FIPS_CRYPTO-sm8150_32 := y
LOCAL_FIPS_CRYPTO-sm8250 := y
LOCAL_FIPS_CRYPTO-sm8250_32 := y
LOCAL_FIPS_CRYPTO-sm8350 := y
LOCAL_FIPS_CRYPTO-sm8350_la11 := y
LOCAL_FIPS_CRYPTO-sm8450 := y

DRV_NAME := "PA_Driver"
LOCAL_CFLAGS := $(PA_GLOBAL_CFLAGS) -DPLATFORM_LOG_TAG=\"PA_TZ_DRV\"
LOCAL_CFLAGS-tbase := -Werror -std=c11 -DVERSION_NAME=\"$(DRV_NAME),t-base\"
LOCAL_CFLAGS-tbase += -fsanitize=undefined-trap -fsanitize-undefined-trap-on-error
LOCAL_CFLAGS-blowfish := -Werror -std=c11 -DVERSION_NAME=\"$(DRV_NAME),blowfish\"
LOCAL_CFLAGS-teegris := -Werror -std=c11 -DVERSION_NAME=\"$(DRV_NAME),teegris\"
LOCAL_CFLAGS-qsee := -DDRIVER_ID=$(CONFIG_QSEE_DRIVER_ID) -DVERSION_NAME=\"$(DRV_NAME),qsee\"
LOCAL_CFLAGS-sdm710 := -DPRINT_KERNLOG
LOCAL_CFLAGS-sdm845 := -DPRINT_KERNLOG
LOCAL_CFLAGS-sm6150 := -DPRINT_KERNLOG
LOCAL_CFLAGS-sm6225 := -DPRINT_KERNLOG -DSUPPORT_QTEE_SHMBRIDGE
LOCAL_CFLAGS-sm7125 := -DPRINT_KERNLOG
LOCAL_CFLAGS-sm7150 := -DPRINT_KERNLOG
LOCAL_CFLAGS-sm7225 := -DPRINT_KERNLOG
LOCAL_CFLAGS-sm7225_32 := -DPRINT_KERNLOG
LOCAL_CFLAGS-sm7250 := -DPRINT_KERNLOG
LOCAL_CFLAGS-sm7250_32 := -DPRINT_KERNLOG
LOCAL_CFLAGS-sm7325 := -DPRINT_KERNLOG -DSUPPORT_QTEE_SHMBRIDGE
LOCAL_CFLAGS-sm8150 := -DPRINT_KERNLOG
LOCAL_CFLAGS-sm8150_32 := -DPRINT_KERNLOG
LOCAL_CFLAGS-sm8250 := -DPRINT_KERNLOG
LOCAL_CFLAGS-sm8250_32 := -DPRINT_KERNLOG
LOCAL_CFLAGS-sm8350 := -DPRINT_KERNLOG -DSUPPORT_QTEE_SHMBRIDGE
LOCAL_CFLAGS-sm8350_la11 := -DPRINT_KERNLOG -DSUPPORT_QTEE_SHMBRIDGE
LOCAL_CFLAGS-sm8450 := -DPRINT_KERNLOG -DSUPPORT_QTEE_SHMBRIDGE

LOCAL_CFLAGS-exynos9820 += -DSKIP_FIVE_AUTH_SYSTEM_SERVER

# ReadOemBuffer is deprecated since Kinibi410
LOCAL_CFLAGS-exynos9810-500 += -Wno-deprecated-declarations
LOCAL_CFLAGS-mt6768 += -Wno-deprecated-declarations

# Memory check on R7 device is very slow and lead to performance degrdation
LOCAL_CFLAGS-exynos9810 += -DDISABLE_MEMORY_CHECK

LOCAL_LDFLAGS-blowfish := -lpthread
LOCAL_LDFLAGS-teegris := -lpthread

LOCAL_SHRINK_PROTOCOL_BUFFER := y

include $(BUILD_TARGET_TRUSTLET)

### Sign PA driver ##########################################################
LOCAL_NAME := proca

LOCAL_UUID :=
LOCAL_UUID-tbase := $(CONFIG_TBASE_PA_DRIVER_UUID)
LOCAL_UUID-blowfish := $(CONFIG_TEEGRIS_PA_DRIVER_UUID)
LOCAL_UUID-teegris := $(CONFIG_TEEGRIS_PA_DRIVER_UUID)
LOCAL_UUID-qsee := $(CONFIG_QSEE_PA_DRIVER_UUID)

# tbase part
LOCAL_DRIVER_ID := $(CONFIG_TBASE_DRIVER_ID)
LOCAL_INTERFACE_VERSION := 1.2
LOCAL_API_LEVEL := $(CONFIG_TBASE_DRIVER_API_LEVEL)
LOCAL_HEAP_SIZE_INIT := 40960
LOCAL_HEAP_SIZE_MAX := 81920
include $(SIGN_TARGET)

### Build UnitTests for PA TZ DRV ##############################################
include pa_tz_drv/tests/unit_tests.mk
