xref: /optee_os/ta/mk/ta_dev_kit.mk (revision 94e8a4fcc5a427874ca716569a6b819d18e6f00c)
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
2562428631SJens Wiklandercmd-echo-silent := echo
26b0104773SPascal Brandelse
27b0104773SPascal Brandq :=
28b0104773SPascal Brandcmd-echo := echo
2962428631SJens Wiklandercmd-echo-silent := true
30b0104773SPascal Brandendif
31b0104773SPascal Brand
3262428631SJens Wiklanderifneq ($(filter 4.%,$(MAKE_VERSION)),)  # make-4
3362428631SJens Wiklanderifneq ($(filter %s ,$(firstword x$(MAKEFLAGS))),)
3462428631SJens Wiklandercmd-echo-silent := true
3562428631SJens Wiklanderendif
3662428631SJens Wiklanderelse                                    # make-3.8x
373dc79b0dSPascal Brandifneq ($(findstring s, $(MAKEFLAGS)),)
3862428631SJens Wiklandercmd-echo-silent := true
3962428631SJens Wiklanderendif
4062428631SJens Wiklanderendif
4162428631SJens Wiklander
4262428631SJens 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
56*94e8a4fcSJens Wiklanderifeq ($(CFG_TEE_PANIC_DEBUG),y)
57*94e8a4fcSJens Wiklandercppflags$(sm) += -DCFG_TEE_PANIC_DEBUG=1
58*94e8a4fcSJens Wiklanderendif
59*94e8a4fcSJens Wiklander
60b0104773SPascal Brandcppflags$(sm) += -I. -I$(ta-dev-kit-dir)/include
61b0104773SPascal Brand
62153c4954SJens Wiklanderinclude $(ta-dev-kit-dir)/mk/arch.mk
63153c4954SJens Wiklander
64b0104773SPascal Brandlibdirs += $(ta-dev-kit-dir)/lib
6582defca2SPascal Brandlibnames += utils utee mpa utils utee
66b0104773SPascal Brandlibdeps += $(ta-dev-kit-dir)/lib/libutils.a
67b0104773SPascal Brandlibdeps += $(ta-dev-kit-dir)/lib/libmpa.a
68b0104773SPascal Brandlibdeps += $(ta-dev-kit-dir)/lib/libutee.a
69b0104773SPascal Brand
70b0104773SPascal Brand.PHONY: clean
71b0104773SPascal Brandclean:
7262428631SJens Wiklander	@$(cmd-echo-silent) '  CLEAN   .'
73b0104773SPascal Brand	${q}rm -f $(cleanfiles)
74b0104773SPascal Brand
75b0104773SPascal Brand
76b0104773SPascal Brandsubdirs = .
77b0104773SPascal Brandinclude  $(ta-dev-kit-dir)/mk/subdir.mk
78b0104773SPascal Brandvpath %.c $(ta-dev-kit-dir)/src
79b0104773SPascal Brandsrcs += user_ta_header.c
80b0104773SPascal Brand
812cb1e0d0SJens Wiklanderinclude  $(ta-dev-kit-dir)/mk/gcc.mk
82b0104773SPascal Brandinclude  $(ta-dev-kit-dir)/mk/compile.mk
83b0104773SPascal Brandinclude  $(ta-dev-kit-dir)/mk/link.mk
84