TA dev kit: Clang support

Updates ta/mk/ta_dev_kit.mk and other makefiles so that the COMPILER
variable can be used when building TAs: make COMPILER=clang ...

Signed-off-by: Jerome Forissier <jerome@forissier.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
diff --git a/Makefile b/Makefile
index acc0edf..a41218c 100644
--- a/Makefile
+++ b/Makefile
@@ -69,6 +69,7 @@
 endif
 endif
 
+SCRIPTS_DIR := scripts
 
 include core/core.mk
 
diff --git a/core/arch/arm/arm.mk b/core/arch/arm/arm.mk
index da54f54..5defb32 100644
--- a/core/arch/arm/arm.mk
+++ b/core/arch/arm/arm.mk
@@ -207,6 +207,8 @@
 ta-mk-file-export-add-ta_arm32 += CROSS_COMPILE ?= arm-linux-gnueabihf-_nl_
 ta-mk-file-export-add-ta_arm32 += CROSS_COMPILE32 ?= $$(CROSS_COMPILE)_nl_
 ta-mk-file-export-add-ta_arm32 += CROSS_COMPILE_ta_arm32 ?= $$(CROSS_COMPILE32)_nl_
+ta-mk-file-export-add-ta_arm32 += COMPILER ?= gcc_nl_
+ta-mk-file-export-add-ta_arm32 += COMPILER_ta_arm32 ?= $$(COMPILER)_nl_
 endif
 
 ifneq ($(filter ta_arm64,$(ta-targets)),)
@@ -235,6 +237,8 @@
 
 ta-mk-file-export-add-ta_arm64 += CROSS_COMPILE64 ?= $$(CROSS_COMPILE)_nl_
 ta-mk-file-export-add-ta_arm64 += CROSS_COMPILE_ta_arm64 ?= $$(CROSS_COMPILE64)_nl_
+ta-mk-file-export-add-ta_arm64 += COMPILER ?= gcc_nl_
+ta-mk-file-export-add-ta_arm64 += COMPILER_ta_arm64 ?= $$(COMPILER)_nl_
 endif
 
 # Set cross compiler prefix for each submodule
diff --git a/mk/clang.mk b/mk/clang.mk
index de20746..44cdd15 100644
--- a/mk/clang.mk
+++ b/mk/clang.mk
@@ -23,7 +23,7 @@
 
 AR$(sm)		:= $(ccache-cmd)llvm-ar
 NM$(sm)		:= llvm-nm
-OBJCOPY$(sm)	:= ./scripts/llvm-objcopy-wrapper
+OBJCOPY$(sm)	:= $(SCRIPTS_DIR)/llvm-objcopy-wrapper
 
 # llvm-objdump:
 # - Does not support mixed 32-bit ARM and Thumb instructions
diff --git a/ta/mk/ta_dev_kit.mk b/ta/mk/ta_dev_kit.mk
index 2a81cbe..04a4f94 100644
--- a/ta/mk/ta_dev_kit.mk
+++ b/ta/mk/ta_dev_kit.mk
@@ -105,7 +105,8 @@
 endif
 endif
 
-include  $(ta-dev-kit-dir$(sm))/mk/gcc.mk
+SCRIPTS_DIR := $(ta-dev-kit-dir)/scripts
+include  $(ta-dev-kit-dir$(sm))/mk/$(COMPILER_$(sm)).mk
 include  $(ta-dev-kit-dir$(sm))/mk/compile.mk
 
 ifneq ($(user-ta-uuid),)
diff --git a/ta/ta.mk b/ta/ta.mk
index 3a811e3..dde7be6 100644
--- a/ta/ta.mk
+++ b/ta/ta.mk
@@ -156,7 +156,7 @@
 	$(eval $(call copy-file, $(f), $(out-dir)/export-$(sm)/lib,lib)))
 
 # Copy .mk files
-ta-mkfiles = mk/compile.mk mk/subdir.mk mk/gcc.mk mk/cleandirs.mk \
+ta-mkfiles = mk/compile.mk mk/subdir.mk mk/gcc.mk mk/clang.mk mk/cleandirs.mk \
 	ta/arch/$(ARCH)/link.mk ta/arch/$(ARCH)/link_shlib.mk \
 	ta/mk/ta_dev_kit.mk
 
@@ -192,7 +192,7 @@
 	$(eval $(call copy-file, $(f), $(out-dir)/export-$(sm)/keys)))
 
 # Copy the scripts
-ta-scripts = scripts/sign.py scripts/symbolize.py
+ta-scripts = scripts/sign.py scripts/symbolize.py scripts/llvm-objcopy-wrapper
 $(foreach f, $(ta-scripts), \
 	$(eval $(call copy-file, $(f), $(out-dir)/export-$(sm)/scripts)))