xref: /optee_os/ta/mk/build-user-ta.mk (revision b8bb0afa738e6038bbd92b57742aa2526df9f20a)
1include mk/cleanvars.mk
2sm := $(lastword $(subst /, ,$(dir $(ta-mk-file))))
3sm-$(sm) := y
4
5# Select TA target (aka TA dev kit, when delivered)
6ta-target := $(strip $(if $(CFG_USER_TA_TARGET_$(sm)), \
7		$(filter $(CFG_USER_TA_TARGET_$(sm)), $(ta-targets)), \
8		$(default-user-ta-target)))
9
10ta-dev-kit-dir$(sm) := $(out-dir)/export-$(ta-target)
11link-out-dir$(sm) := $(out-dir)/$(patsubst %/,%, $(dir $(ta-mk-file)))
12
13include $(ta-mk-file)
14ifeq ($(user-ta-uuid),)
15$(error user-ta-uuid missing in $(ta-mk-file))
16endif
17
18# Inherit compiler and flags from TA target
19CROSS_COMPILE_$(sm)	:= $(CROSS_COMPILE_$(ta-target))
20COMPILER_$(sm)		:= $(COMPILER_$(ta-target))
21include mk/$(COMPILER_$(sm)).mk
22
23cppflags$(sm)	:= $(cppflags$(ta-target)) -I$(ta-dev-kit-dir$(sm))/include
24cflags$(sm)	:= $(cflags$(ta-target))
25aflags$(sm)	:= $(aflags$(ta-target))
26
27libdirs  = $(ta-dev-kit-dir$(sm))/lib
28libnames = utils utee
29ifneq ($(CFG_TA_MBEDTLS_MPI),y)
30libnames += mpa
31endif
32ifeq ($(CFG_TA_MBEDTLS),y)
33libnames += mbedtls
34endif
35libdeps = $(addsuffix .a, $(addprefix $(libdirs)/lib, $(libnames)))
36
37subdirs = $(patsubst %/,%,$(dir $(ta-mk-file)))
38include mk/subdir.mk
39
40spec-out-dir := $(link-out-dir$(sm))
41spec-srcs += $(ta-dev-kit-dir$(sm))/src/user_ta_header.c
42
43additional-compile-deps := $(ta_dev_kit-files) # TA dev kit should be built before in-tree TAs
44include mk/compile.mk
45include  ta/arch/$(ARCH)/link.mk
46