ifneq ($(filter rk312% rk322% rk3288 rk3328 rk3368 rk3399 rk3399pro px3 px5, $(TARGET_BOARD_PLATFORM)), ) $(info 'building rk_tee_user v1') else $(info 'building rk_tee_user v2') LOCAL_PATH := $(call my-dir) OPTEE_TEST_PATH := $(shell pwd)/$(LOCAL_PATH) ## include variants like TA_DEV_KIT_DIR ## and target of BUILD_OPTEE_OS INCLUDE_FOR_BUILD_TA := false include $(BUILD_OPTEE_MK) INCLUDE_FOR_BUILD_TA := VERSION = $(shell git describe --always --dirty=-dev 2>/dev/null || echo Unknown) # TA_DEV_KIT_DIR must be set to non-empty value to # avoid the Android build scripts complaining about # includes pointing outside the Android source tree. # This var is expected to be set when OPTEE OS built. # We set the default value to an invalid path. TA_DEV_KIT_DIR ?= $(OPTEE_TEST_PATH)/export-ta_arm32 OPTEE_CLIENT_PATH ?= $(LOCAL_PATH)/client_export include $(TA_DEV_KIT_DIR)/host_include/conf.mk ifeq (1,$(strip $(shell expr $(PLATFORM_VERSION) \>= 11))) ifeq ($(strip $(TARGET_ARCH)), arm64) CLIENT_LIB_PATH ?= $(shell pwd)/hardware/rockchip/optee/v2/arm64 else CLIENT_LIB_PATH ?= $(shell pwd)/hardware/rockchip/optee/v2/arm endif else ifeq ($(strip $(TARGET_ARCH)), arm64) CLIENT_LIB_PATH ?= $(shell pwd)/vendor/rockchip/common/security/optee/v2/lib/arm64 else CLIENT_LIB_PATH ?= $(shell pwd)/vendor/rockchip/common/security/optee/v2/lib/arm endif endif ################################################################################ # Build xtest # ################################################################################ include $(CLEAR_VARS) LOCAL_MODULE := xtest LOCAL_VENDOR_MODULE := true LOCAL_SHARED_LIBRARIES := libteec TA_DIR ?= /vendor/lib/optee_armtz srcs := regression_1000.c ifeq ($(CFG_GP_SOCKETS),y) srcs += regression_2000.c \ sock_server.c \ rand_stream.c endif srcs += adbg/src/adbg_case.c \ adbg/src/adbg_enum.c \ adbg/src/adbg_expect.c \ adbg/src/adbg_log.c \ adbg/src/adbg_run.c \ adbg/src/security_utils_hex.c \ aes_perf.c \ benchmark_1000.c \ benchmark_2000.c \ regression_4000.c \ regression_4100.c \ regression_5000.c \ regression_6000.c \ regression_8000.c \ regression_8100.c \ sha_perf.c \ stats.c \ xtest_helpers.c \ xtest_main.c \ xtest_test.c \ xtest_uuid_helpers.c ifeq ($(CFG_SECSTOR_TA_MGMT_PTA),y) srcs += install_ta.c endif ifeq ($(CFG_SECURE_DATA_PATH),y) srcs += sdp_basic.c endif ifeq ($(CFG_PKCS11_TA),y) srcs += pkcs11_1000.c LOCAL_CFLAGS += -DCFG_PKCS11_TA LOCAL_SHARED_LIBRARIES += libckteec endif define my-embed-file $(TARGET_OUT_HEADERS)/$(1).h: $(LOCAL_PATH)/$(2) @echo ' GEN $$@' @$(LOCAL_PATH)/scripts/file_to_c.py --inf $$< --out $$@ --name $(1) LOCAL_ADDITIONAL_DEPENDENCIES += $(TARGET_OUT_HEADERS)/$(1).h endef $(eval $(call my-embed-file,regression_8100_ca_crt,cert/ca.crt)) $(eval $(call my-embed-file,regression_8100_mid_crt,cert/mid.crt)) $(eval $(call my-embed-file,regression_8100_my_crt,cert/my.crt)) $(eval $(call my-embed-file,regression_8100_my_csr,cert/my.csr)) LOCAL_SRC_FILES := $(patsubst %,host/xtest/%,$(srcs)) LOCAL_C_INCLUDES += $(LOCAL_PATH)/host/xtest \ $(LOCAL_PATH)/host/xtest/adbg/include\ $(LOCAL_PATH)/host/supp_plugin/include \ $(LOCAL_PATH)/ta/include \ $(LOCAL_PATH)/ta/create_fail_test/include \ $(LOCAL_PATH)/ta/crypt/include \ $(LOCAL_PATH)/ta/enc_fs/include \ $(LOCAL_PATH)/ta/os_test/include \ $(LOCAL_PATH)/ta/rpc_test/include \ $(LOCAL_PATH)/ta/sims/include \ $(LOCAL_PATH)/ta/miss/include \ $(LOCAL_PATH)/ta/sims_keepalive/include \ $(LOCAL_PATH)/ta/storage_benchmark/include \ $(LOCAL_PATH)/ta/concurrent/include \ $(LOCAL_PATH)/ta/concurrent_large/include \ $(LOCAL_PATH)/ta/sha_perf/include \ $(LOCAL_PATH)/ta/aes_perf/include \ $(LOCAL_PATH)/ta/socket/include \ $(LOCAL_PATH)/ta/sdp_basic/include \ $(LOCAL_PATH)/ta/tpm_log_test/include \ $(LOCAL_PATH)/ta/supp_plugin/include \ $(OPTEE_CLIENT_PATH)/public # Include configuration file generated by OP-TEE OS (CFG_* macros) LOCAL_CFLAGS += -I $(TA_DEV_KIT_DIR)/host_include -include conf.h LOCAL_CFLAGS += -pthread LOCAL_CFLAGS += -g3 LOCAL_CFLAGS += -Wno-missing-field-initializers -Wno-format-zero-length ifneq ($(TA_DIR),) LOCAL_CFLAGS += -DTA_DIR=\"$(TA_DIR)\" endif ## $(OPTEE_BIN) is the path of tee.bin like ## out/target/product/hikey/optee/arm-plat-hikey/core/tee.bin ## it will be generated after build the optee_os with target BUILD_OPTEE_OS ## which is defined in the common ta build mk file included before, LOCAL_ADDITIONAL_DEPENDENCIES += $(OPTEE_BIN) include $(BUILD_EXECUTABLE) ################################################################################ # Build rktest # ################################################################################ include $(CLEAR_VARS) LOCAL_CFLAGS += -DANDROID_BUILD -DUSER_SPACE LOCAL_CFLAGS += -Wall -Wno-error LOCAL_LDFLAGS += $(CLIENT_LIB_PATH)/libteec.so LOCAL_LDFLAGS += -llog SRC_FILES_DIR := $(wildcard $(LOCAL_PATH)/host/rk_test/*.c) LOCAL_SRC_FILES += $(SRC_FILES_DIR:$(LOCAL_PATH)/%=%) LOCAL_C_INCLUDES := $(LOCAL_PATH)/ta/rk_test/include \ $(LOCAL_PATH)/host/rk_test/include \ $(LOCAL_PATH)/export-ta_arm32/host_include \ $(OPTEE_CLIENT_PATH)/public LOCAL_MODULE := rktest LOCAL_MODULE_TAGS := optional ifeq (1,$(strip $(shell expr $(PLATFORM_VERSION) \>= 8))) LOCAL_PROPRIETARY_MODULE := true endif include $(BUILD_EXECUTABLE) include $(LOCAL_PATH)/ta/Android.mk endif