Introduce CFG_USER_TA_TARGETS to select user mode architecture(s)
This change introduces CFG_USER_TA_TARGETS to allow the configuration
directives to select the architectures for which userspace TA and TA
libraries shall be built. The only use case for the moment is to be able
to build only 32 or 64-bit libraries and TAs when the platform would
otherwise support both 32 and 64-bit. See the example below.
If CFG_USER_TA_TARGETS is undefined or empty, all the architectures
supported by the platform are built.
If CFG_USER_TA_TARGETS contains an unsupported value, the build will
report an error.
Examples:
$ make PLATFORM=hikey CFG_ARM64_core=y
# Builds both 32 and 64-bit userspace
$ make PLATFORM=hikey CFG_ARM64_core=y \
CFG_USER_TA_TARGETS="ta_arm32 ta_arm64"
# Same as above
$ make PLATFORM=hikey CFG_ARM64_core=y CFG_USER_TA_TARGETS=ta_arm32
# Builds only 32-bit userspace
Suggested-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
diff --git a/Makefile b/Makefile
index 96a16e6..7cad3a9 100644
--- a/Makefile
+++ b/Makefile
@@ -72,8 +72,8 @@
include core/core.mk
-# Platform config is supposed to assign the targets
-ta-targets ?= user_ta
+# Platform/arch config is supposed to assign the targets
+ta-targets ?= invalid
default-user-ta-target ?= $(firstword $(ta-targets))
ifeq ($(CFG_WITH_USER_TA),y)