From: Greg Hackmann Date: Tue, 25 Oct 2016 20:59:59 +0000 (-0700) Subject: ANDROID: Kbuild, LLVMLinux: allow overriding clang target triple X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=b9b964626ea839d4a93a47625c74d29a67aa926e;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git ANDROID: Kbuild, LLVMLinux: allow overriding clang target triple Android has an unusual setup where the kernel needs to target [arch]-linux-gnu to avoid Android userspace-specific flags and optimizations, but AOSP doesn't ship a matching binutils. Add a new variable CLANG_TRIPLE which can override the "-target" triple used to compile the kernel, while using a different CROSS_COMPILE to pick the binutils/gcc installation. For Android you'd do something like: export CLANG_TRIPLE=aarch64-linux-gnu- export CROSS_COMPILE=aarch64-linux-android- If you don't need something like this, leave CLANG_TRIPLE unset and it will default to CROSS_COMPILE. Change-Id: I85d63599c6ab8ed458071cdf9197d85b1f7f150b Signed-off-by: Greg Hackmann --- diff --git a/Makefile b/Makefile index 0d42e9d16812..2da4fd0851cc 100644 --- a/Makefile +++ b/Makefile @@ -698,7 +698,8 @@ KBUILD_CFLAGS += $(stackp-flag) ifeq ($(cc-name),clang) ifneq ($(CROSS_COMPILE),) -CLANG_TARGET := --target=$(notdir $(CROSS_COMPILE:%-=%)) +CLANG_TRIPLE ?= $(CROSS_COMPILE) +CLANG_TARGET := --target=$(notdir $(CLANG_TRIPLE:%-=%)) GCC_TOOLCHAIN := $(realpath $(dir $(shell which $(LD)))/..) endif ifneq ($(GCC_TOOLCHAIN),)