From 2e05912189efd6ec515bba835623874162eb1abb Mon Sep 17 00:00:00 2001 From: nbd Date: Tue, 23 Oct 2007 06:23:23 +0000 Subject: [PATCH] don't specify "CC=" on kernel build command line If KERNEL_CC isn't set, we end up with a "CC=" on the kernel build command-line. We don't always need CC, as the CROSS_COMPILE flag does the job instead. In fact, specifying CC messes up the build when we're using a biarch compiler. This change doesn't specify CC= if the KERNEL_CC variable is empty. Signed-off-by: Jeremy Kerr git-svn-id: svn://svn.openwrt.org/openwrt/trunk@9408 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- include/kernel-defaults.mk | 12 ++++++++---- include/kernel.mk | 8 ++++---- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/include/kernel-defaults.mk b/include/kernel-defaults.mk index fd5bb1ca0..977992133 100644 --- a/include/kernel-defaults.mk +++ b/include/kernel-defaults.mk @@ -40,6 +40,10 @@ KERNEL_MAKEOPTS := -C $(LINUX_DIR) \ ARCH="$(LINUX_KARCH)" \ CONFIG_SHELL="$(BASH)" +ifneq (,$(KERNEL_CC)) + KERNEL_MAKEOPTS += CC="$(KERNEL_CC)" +endif + # defined in quilt.mk Kernel/Patch:=$(Kernel/Patch/Default) define Kernel/Prepare/Default @@ -50,11 +54,11 @@ endef define Kernel/Configure/2.4 $(SED) "s,\-mcpu=,\-mtune=,g;" $(LINUX_DIR)/arch/mips/Makefile - $(MAKE) $(KERNEL_MAKEOPTS) CC="$(KERNEL_CC)" oldconfig include/linux/compile.h include/linux/version.h + $(MAKE) $(KERNEL_MAKEOPTS) oldconfig include/linux/compile.h include/linux/version.h $(MAKE) $(KERNEL_MAKEOPTS) dep endef define Kernel/Configure/2.6 - -$(MAKE) $(KERNEL_MAKEOPTS) CC="$(KERNEL_CC)" oldconfig prepare scripts + -$(MAKE) $(KERNEL_MAKEOPTS) oldconfig prepare scripts endef define Kernel/Configure/Default $(LINUX_CONFCMD) > $(LINUX_DIR)/.config.target @@ -66,7 +70,7 @@ endef define Kernel/CompileModules/Default rm -f $(LINUX_DIR)/vmlinux $(LINUX_DIR)/System.map - $(MAKE) $(KERNEL_MAKEOPTS) CC="$(KERNEL_CC)" modules + $(MAKE) $(KERNEL_MAKEOPTS) modules endef ifeq ($(KERNEL),2.6) @@ -89,7 +93,7 @@ ifeq ($(KERNEL),2.6) endif define Kernel/CompileImage/Default $(call Kernel/SetInitramfs) - $(MAKE) $(KERNEL_MAKEOPTS) CC="$(KERNEL_CC)" $(KERNELNAME) + $(MAKE) $(KERNEL_MAKEOPTS) $(KERNELNAME) $(KERNEL_CROSS)objcopy -O binary -R .reginfo -R .note -R .comment -R .mdebug -S $(LINUX_DIR)/vmlinux $(LINUX_KERNEL) $(KERNEL_CROSS)objcopy -R .reginfo -R .note -R .comment -R .mdebug -S $(LINUX_DIR)/vmlinux $(KERNEL_BUILD_DIR)/vmlinux.elf endef diff --git a/include/kernel.mk b/include/kernel.mk index f9baeef0a..4bdd24a59 100644 --- a/include/kernel.mk +++ b/include/kernel.mk @@ -23,11 +23,11 @@ else endif ifneq (,$(findstring uml,$(BOARD))) - KERNEL_CC:=$(HOSTCC) - KERNEL_CROSS:= + KERNEL_CC?=$(HOSTCC) + KERNEL_CROSS?= else - KERNEL_CC:=$(TARGET_CC) - KERNEL_CROSS:=$(TARGET_CROSS) + KERNEL_CC?=$(TARGET_CC) + KERNEL_CROSS?=$(TARGET_CROSS) endif PATCH_DIR ?= ./patches$(shell [ -d "./patches-$(KERNEL_PATCHVER)" ] && printf -- "-$(KERNEL_PATCHVER)" || true )