toolchain.mk: add clang-toolchains target
Add "make clang-toolchains" to download and extract Clang 9.0.1 into
$(ROOT)/clang-9.0.1.
Usage:
$ make clang-toolchains
Then use the following command to build OP-TEE and TAs with Clang:
$ PATH=$PWD/../clang-9.0.1/bin:$PATH make COMPILER=clang
Signed-off-by: Jerome Forissier <jerome@forissier.org>
Reviewed-by: Victor Chong <victor.chong@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
diff --git a/toolchain.mk b/toolchain.mk
index 8bc4b16..9a835e3 100644
--- a/toolchain.mk
+++ b/toolchain.mk
@@ -37,3 +37,18 @@
.PHONY: aarch64
aarch64:
$(call dltc,$(AARCH64_PATH),$(SRC_AARCH64_GCC),$(AARCH64_GCC_VERSION))
+
+CLANG_PATH ?= $(ROOT)/clang-9.0.1
+
+# Download the Clang compiler with LLVM tools and compiler-rt libraries
+define dl-clang
+ @if [ ! -d "$(1)" ]; then \
+ ./get_clang.sh $(1); \
+ else \
+ echo "$(1) already exists"; \
+ fi
+endef
+
+.PHONY: clang-toolchains
+clang-toolchains:
+ $(call dl-clang,$(CLANG_PATH))