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 56cppflags$(sm) += -I. -I$(ta-dev-kit-dir)/include 57 58include $(ta-dev-kit-dir)/mk/arch.mk 59 60libdirs += $(ta-dev-kit-dir)/lib 61libnames += utee mpa utils utee 62libdeps += $(ta-dev-kit-dir)/lib/libutils.a 63libdeps += $(ta-dev-kit-dir)/lib/libmpa.a 64libdeps += $(ta-dev-kit-dir)/lib/libutee.a 65 66.PHONY: clean 67clean: 68 @$(cmd-echo-silent) ' CLEAN .' 69 ${q}rm -f $(cleanfiles) 70 71 72subdirs = . 73include $(ta-dev-kit-dir)/mk/subdir.mk 74vpath %.c $(ta-dev-kit-dir)/src 75srcs += user_ta_header.c 76 77include $(ta-dev-kit-dir)/mk/gcc.mk 78include $(ta-dev-kit-dir)/mk/compile.mk 79include $(ta-dev-kit-dir)/mk/link.mk 80