summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYongqin Liu <yongqin.liu@linaro.org>2020-05-26 22:16:20 +0800
committerYongqin Liu <yongqin.liu@linaro.org>2020-05-26 22:16:20 +0800
commit44857105be83ef84463522c048418a7d1d7ad858 (patch)
tree97252366dcf6e1c7224543a096eca74790e6d2ab
parent2e232a756319d19ae07ae5c54e7a719182451eff (diff)
downloadcommon-linaro-q-preview.tar.gz
tasks/kernel.mk: support to use clang for dtb buildlinaro-q-preview
to workaround the kernel build problem Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org> Change-Id: Ic27334eb3c66f4f0c935568be4ee6cf7b307e038
-rw-r--r--tasks/kernel.mk15
1 files changed, 9 insertions, 6 deletions
diff --git a/tasks/kernel.mk b/tasks/kernel.mk
index 2a7658a..67f8c3a 100644
--- a/tasks/kernel.mk
+++ b/tasks/kernel.mk
@@ -84,8 +84,7 @@ else
CLANG_TRIPLE_OPT :=
endif
-# set value for KERNEL_MAKE_CMDS
-KERNEL_MAKE_CMDS := $(HOST_MAKE) $(KLDR) $(KERNEL_VERBOSE) -C $(KERNEL_SRC) O=$(ABS_KERNEL_OUT) ARCH=$(ARCH) CROSS_COMPILE="$(ABS_TARGET_TOOLS_PREFIX)" KCFLAGS="$(TARGET_EXTRA_CFLAGS) -fno-pic $(LOCAL_CFLAGS)" LD="$(KERNEL_TC_LD)"
+CLANG_OPT :=
ifeq ($(strip $(KERNEL_BUILD_WITH_CLANG)),true)
ifneq ($(wildcard $(KERNEL_SRC)/build.config.clang),)
RECOMMEND_CLANG := $(shell cat $(KERNEL_SRC)/build.config.clang|grep CLANG_PREBUILT_BIN)
@@ -103,12 +102,16 @@ UNRESOLVED_ABS_CLANG ?= $(ABS_CLANG)
ABS_CLANG := $(UNRESOLVED_ABS_CLANG)
endif
-KERNEL_MAKE_CMDS += ${CLANG_TRIPLE_OPT} CC=$(ABS_CLANG) HOSTCC=$(ABS_CLANG)
+CLANG_OPT += ${CLANG_TRIPLE_OPT} CC=$(ABS_CLANG) HOSTCC=$(ABS_CLANG)
endif
-KERNEL_MAKE_CMDS += $(KERNEL_TARGET)
+
+# set value for KERNEL_MAKE_CMDS
+KERNEL_MAKE_CMDS := $(HOST_MAKE) $(KLDR) $(KERNEL_VERBOSE) -C $(KERNEL_SRC) O=$(ABS_KERNEL_OUT) ARCH=$(ARCH) CROSS_COMPILE="$(ABS_TARGET_TOOLS_PREFIX)" KCFLAGS="$(TARGET_EXTRA_CFLAGS) -fno-pic $(LOCAL_CFLAGS)" LD="$(KERNEL_TC_LD)"
+
+KERNEL_MAKE_CMDS += ${CLANG_OPT} $(KERNEL_TARGET)
# set value for KERNEL_MAKE_CONFIG_CMDS
-KERNEL_MAKE_CONFIG_CMDS := $(HOST_MAKE) -C $(KERNEL_SRC) -j1 $(KERNEL_VERBOSE) O=$(ABS_KERNEL_OUT) ARCH=$(ARCH) CROSS_COMPILE="$(ABS_TARGET_TOOLS_PREFIX)" LD="$(KERNEL_TC_LD)"
+KERNEL_MAKE_CONFIG_CMDS := $(HOST_MAKE) -C $(KERNEL_SRC) -j1 $(KERNEL_VERBOSE) O=$(ABS_KERNEL_OUT) ARCH=$(ARCH) CROSS_COMPILE="$(ABS_TARGET_TOOLS_PREFIX)" LD="$(KERNEL_TC_LD)" ${CLANG_OPT}
ifneq ($(words $(KERNEL_CONFIG)), 1)
KERNEL_MAKE_CONFIG_CMDS += KCONFIG_ALLCONFIG=$(ABS_KERNEL_OUT)/.merged.config alldefconfig;
else
@@ -177,7 +180,7 @@ $(foreach _ub,$(DEVICE_TREES), \
ifneq ($(strip $(DTB_TARGETS)),)
$(patsubst %,$(KERNEL_OUT)/arch/$(ARCH)/boot/%,$(DTB_TARGETS)) : $(INSTALLED_KERNEL_TARGET)
- PATH=$(HOST_TOOLS_PATH):$$PATH $(HOST_MAKE) -C $(KERNEL_SRC) O=$(ABS_KERNEL_OUT) ARCH=$(ARCH) CROSS_COMPILE="$(ABS_TARGET_TOOLS_PREFIX)" dtbs
+ PATH=$(HOST_TOOLS_PATH):$$PATH $(HOST_MAKE) -C $(KERNEL_SRC) O=$(ABS_KERNEL_OUT) ARCH=$(ARCH) CROSS_COMPILE="$(ABS_TARGET_TOOLS_PREFIX)" ${CLANG_OPT} dtbs
for dtb_name in $(notdir $@); do \
f_dtb=`find $(ABS_KERNEL_OUT)/arch/$(ARCH)/boot/dts/ -name $${dtb_name}`; \
mv -vf $${f_dtb} $(ABS_KERNEL_OUT)/arch/$(ARCH)/boot/; \