1 2 3# Get the dir of the ta-dev-kit, requires make version 3.81 or later 4ta-dev-kit-dir := $(patsubst %/,%,$(abspath $(dir $(lastword $(MAKEFILE_LIST)))..)) 5 6 7.PHONY: all 8all: 9 10sm := user_ta 11sm-$(ta) := y 12binary := $(BINARY) 13 14CROSS_COMPILE_$(sm) ?= $(CROSS_COMPILE) 15 16ifneq ($O,) 17out-dir := $O 18else 19out-dir := . 20endif 21 22ifneq ($V,1) 23q := @ 24cmd-echo := true 25cmd-echo-silent := echo 26else 27q := 28cmd-echo := echo 29cmd-echo-silent := true 30endif 31 32ifneq ($(filter 4.%,$(MAKE_VERSION)),) # make-4 33ifneq ($(filter %s ,$(firstword x$(MAKEFLAGS))),) 34cmd-echo-silent := true 35endif 36else # make-3.8x 37ifneq ($(findstring s, $(MAKEFLAGS)),) 38cmd-echo-silent := true 39endif 40endif 41 42 43include $(ta-dev-kit-dir)/mk/arch.mk 44-include $(ta-dev-kit-dir)/mk/platform_flags.mk 45 46cppflags$(sm) += $(platform-cppflags) $(user_ta-platform-cppflags) 47aflags$(sm) += $(platform-aflags) $(user_ta-platform-aflags) 48cflags$(sm) += $(platform-cflags) $(user_ta-platform-cflags) 49 50CFG_TEE_TA_LOG_LEVEL ?= 2 51cppflags$(sm) += -DTRACE_LEVEL=$(CFG_TEE_TA_LOG_LEVEL) 52 53CFG_TEE_CORE_USER_MEM_DEBUG ?= 0 54cppflags$(sm) += -DCFG_TEE_CORE_USER_MEM_DEBUG=$(CFG_TEE_CORE_USER_MEM_DEBUG) 55 56ifeq ($(CFG_TEE_PANIC_DEBUG),y) 57cppflags$(sm) += -DCFG_TEE_PANIC_DEBUG=1 58endif 59 60cppflags$(sm) += -I. -I$(ta-dev-kit-dir)/include 61 62include $(ta-dev-kit-dir)/mk/arch.mk 63 64libdirs += $(ta-dev-kit-dir)/lib 65libnames += utils utee mpa utils utee 66libdeps += $(ta-dev-kit-dir)/lib/libutils.a 67libdeps += $(ta-dev-kit-dir)/lib/libmpa.a 68libdeps += $(ta-dev-kit-dir)/lib/libutee.a 69 70.PHONY: clean 71clean: 72 @$(cmd-echo-silent) ' CLEAN .' 73 ${q}rm -f $(cleanfiles) 74 75 76subdirs = . 77include $(ta-dev-kit-dir)/mk/subdir.mk 78vpath %.c $(ta-dev-kit-dir)/src 79srcs += user_ta_header.c 80 81include $(ta-dev-kit-dir)/mk/gcc.mk 82include $(ta-dev-kit-dir)/mk/compile.mk 83include $(ta-dev-kit-dir)/mk/link.mk 84