aboutsummaryrefslogtreecommitdiff
path: root/ta/mk
diff options
context:
space:
mode:
authorJerome Forissier <jerome.forissier@linaro.org>2018-02-06 16:25:53 +0100
committerJérôme Forissier <jerome.forissier@linaro.org>2018-05-04 15:58:52 +0200
commitf8896d1301fc1fbb4eef751c4c9de1d2969c1190 (patch)
tree35921dfc97ee16e840584da932bee644ab942ca7 /ta/mk
parentceae7156316bb24975a0eb6a3b62c02848af64eb (diff)
TA dev kit: add support for creating shared libraries
A new Makefile include (ta/arch/arm/link_shlib.mk) is introduced, it is quite similar to the file used to generate a TA (ta/arch/arm/link.mk) except that is produces a shared object: $(SHLIBNAME).so. A signed file is also produced: $(SHLIBUUID).ta. Actual support for dynamically linked TAs in the OP-TEE ELF loader will be added in subsequent patches. Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Joakim Bech <joakim.bech@linaro.org>
Diffstat (limited to 'ta/mk')
-rw-r--r--ta/mk/ta_dev_kit.mk11
1 files changed, 9 insertions, 2 deletions
diff --git a/ta/mk/ta_dev_kit.mk b/ta/mk/ta_dev_kit.mk
index 852323c5..f9832e34 100644
--- a/ta/mk/ta_dev_kit.mk
+++ b/ta/mk/ta_dev_kit.mk
@@ -7,12 +7,14 @@ all:
include $(ta-dev-kit-dir)/mk/conf.mk
-ifneq (1, $(word $(BINARY) $(LIBNAME)))
-$(error You must specify exactly one of BINARY or LIBNAME)
+ifneq (1, $(words $(BINARY) $(LIBNAME) $(SHLIBNAME)))
+$(error You must specify exactly one of BINARY, LIBNAME or SHLIBNAME)
endif
binary := $(BINARY)
libname := $(LIBNAME)
+shlibname := $(SHLIBNAME)
+shlibuuid := $(SHLIBUUID)
ifneq ($O,)
out-dir := $O
@@ -83,6 +85,7 @@ endif
include $(ta-dev-kit-dir)/mk/gcc.mk
include $(ta-dev-kit-dir)/mk/compile.mk
+
ifneq ($(binary),)
include $(ta-dev-kit-dir)/mk/link.mk
endif
@@ -96,3 +99,7 @@ $(libname).a: $(objs)
@echo ' AR $@'
$(q)rm -f $@ && $(AR$(sm)) rcs -o $@ $^
endif
+
+ifneq (,$(shlibname))
+include $(ta-dev-kit-dir)/mk/link_shlib.mk
+endif