diff options
author | Yongqin Liu <yongqin.liu@linaro.org> | 2020-05-26 22:16:20 +0800 |
---|---|---|
committer | Yongqin Liu <yongqin.liu@linaro.org> | 2020-05-26 22:16:20 +0800 |
commit | 44857105be83ef84463522c048418a7d1d7ad858 (patch) | |
tree | 97252366dcf6e1c7224543a096eca74790e6d2ab | |
parent | 2e232a756319d19ae07ae5c54e7a719182451eff (diff) | |
download | common-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.mk | 15 |
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/; \ |