1b0104773SPascal Brand 2b0104773SPascal Brand 3b0104773SPascal Brand# Get the dir of the ta-dev-kit, requires make version 3.81 or later 44334e8d7SJerome Forissierta-dev-kit-dir := $(patsubst %/,%,$(abspath $(dir $(lastword $(MAKEFILE_LIST)))..)) 5b0104773SPascal Brand 6b0104773SPascal Brand 7b0104773SPascal Brand.PHONY: all 8b0104773SPascal Brandall: 9b0104773SPascal Brand 1004ab7fe3SJoakim Bechsm := user_ta 11b0104773SPascal Brandsm-$(ta) := y 12b0104773SPascal Brandbinary := $(BINARY) 13b0104773SPascal Brand 1404ab7fe3SJoakim BechCROSS_COMPILE_$(sm) ?= $(CROSS_COMPILE) 1504ab7fe3SJoakim Bech 16b0104773SPascal Brandifneq ($O,) 174334e8d7SJerome Forissierout-dir := $O 18c3c7db16SJerome Forissierelse 19c3c7db16SJerome Forissierout-dir := . 20b0104773SPascal Brandendif 21b0104773SPascal Brand 22b0104773SPascal Brandifneq ($V,1) 23b0104773SPascal Brandq := @ 24b0104773SPascal Brandcmd-echo := true 25*62428631SJens Wiklandercmd-echo-silent := echo 26b0104773SPascal Brandelse 27b0104773SPascal Brandq := 28b0104773SPascal Brandcmd-echo := echo 29*62428631SJens Wiklandercmd-echo-silent := true 30b0104773SPascal Brandendif 31b0104773SPascal Brand 32*62428631SJens Wiklanderifneq ($(filter 4.%,$(MAKE_VERSION)),) # make-4 33*62428631SJens Wiklanderifneq ($(filter %s ,$(firstword x$(MAKEFLAGS))),) 34*62428631SJens Wiklandercmd-echo-silent := true 35*62428631SJens Wiklanderendif 36*62428631SJens Wiklanderelse # make-3.8x 37*62428631SJens Wiklanderifneq ($(filter s% -s%,$(MAKEFLAGS)),) 38*62428631SJens Wiklandercmd-echo-silent := true 39*62428631SJens Wiklanderendif 40*62428631SJens Wiklanderendif 41*62428631SJens Wiklander 42*62428631SJens Wiklander 431a48b444SJerome Forissierinclude $(ta-dev-kit-dir)/mk/arch.mk 443bce5ba1SJerome Forissier-include $(ta-dev-kit-dir)/mk/platform_flags.mk 453bce5ba1SJerome Forissier 461a48b444SJerome Forissiercppflags$(sm) += $(platform-cppflags) $(user_ta-platform-cppflags) 473bce5ba1SJerome Forissieraflags$(sm) += $(platform-aflags) $(user_ta-platform-aflags) 483bce5ba1SJerome Forissiercflags$(sm) += $(platform-cflags) $(user_ta-platform-cflags) 493bce5ba1SJerome Forissier 501a48b444SJerome ForissierCFG_TEE_TA_LOG_LEVEL ?= 2 511a48b444SJerome Forissiercppflags$(sm) += -DTRACE_LEVEL=$(CFG_TEE_TA_LOG_LEVEL) 521a48b444SJerome Forissier 531a48b444SJerome ForissierCFG_TEE_CORE_USER_MEM_DEBUG ?= 0 541a48b444SJerome Forissiercppflags$(sm) += -DCFG_TEE_CORE_USER_MEM_DEBUG=$(CFG_TEE_CORE_USER_MEM_DEBUG) 551a48b444SJerome Forissier 56b0104773SPascal Brandcppflags$(sm) += -I. -I$(ta-dev-kit-dir)/include 57b0104773SPascal Brand 58153c4954SJens Wiklanderinclude $(ta-dev-kit-dir)/mk/arch.mk 59153c4954SJens Wiklander 60b0104773SPascal Brandlibdirs += $(ta-dev-kit-dir)/lib 61ed4e28baSPascal Brandlibnames += utee mpa utils utee 62b0104773SPascal Brandlibdeps += $(ta-dev-kit-dir)/lib/libutils.a 63b0104773SPascal Brandlibdeps += $(ta-dev-kit-dir)/lib/libmpa.a 64b0104773SPascal Brandlibdeps += $(ta-dev-kit-dir)/lib/libutee.a 65b0104773SPascal Brand 66b0104773SPascal Brand.PHONY: clean 67b0104773SPascal Brandclean: 68*62428631SJens Wiklander @$(cmd-echo-silent) ' CLEAN .' 69b0104773SPascal Brand ${q}rm -f $(cleanfiles) 70b0104773SPascal Brand 71b0104773SPascal Brand 72b0104773SPascal Brandsubdirs = . 73b0104773SPascal Brandinclude $(ta-dev-kit-dir)/mk/subdir.mk 74b0104773SPascal Brandvpath %.c $(ta-dev-kit-dir)/src 75b0104773SPascal Brandsrcs += user_ta_header.c 76b0104773SPascal Brand 772cb1e0d0SJens Wiklanderinclude $(ta-dev-kit-dir)/mk/gcc.mk 78b0104773SPascal Brandinclude $(ta-dev-kit-dir)/mk/compile.mk 79b0104773SPascal Brandinclude $(ta-dev-kit-dir)/mk/link.mk 80