summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>2011-12-14 00:25:06 +0059
committerBernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>2011-12-14 00:25:06 +0059
commit19edf025427676d7dcd6d21088b1c600dd8ff2a1 (patch)
tree5626d0dd377bd89f3abf80740a0cb6d8d8e119c3
parent0b7d1d0940fd1fdcec8cb95e3bbba9489f2c7396 (diff)
tasks/kernel.mk: Try harder to find a proper toolchain
Don't cause a bad LD setting if TARGET_TOOLS_PREFIX is passed as a relative path Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
-rw-r--r--tasks/kernel.mk22
1 files changed, 11 insertions, 11 deletions
diff --git a/tasks/kernel.mk b/tasks/kernel.mk
index 59ebed8..07e989c 100644
--- a/tasks/kernel.mk
+++ b/tasks/kernel.mk
@@ -6,27 +6,27 @@ ifneq ($(findstring prebuilt,$(TARGET_TOOLS_PREFIX)),)
# The prebuilt toolchain is way too old to compile
# current kernels - so we use a system wide toolchain
# installation if available.
-KERNEL_TOOLCHAIN := arm-linux-gnueabi-
+KERNEL_TOOLS_PREFIX := $(shell which arm-linux-gnueabi-gcc |sed -e 's,gcc,,')
else
-KERNEL_TOOLCHAIN := $(shell sh -c "cd $(TOP); cd `dirname $(TARGET_TOOLS_PREFIX)`; pwd")/$(shell basename $(TARGET_TOOLS_PREFIX))
+KERNEL_TOOLS_PREFIX := $(shell sh -c "cd $(TOP); cd `dirname $(TARGET_TOOLS_PREFIX)`; pwd")/$(shell basename $(TARGET_TOOLS_PREFIX))
endif
android_kernel: $(PRODUCT_OUT)/u-boot.bin
cd $(TOP)/kernel &&\
- if [ -e $(TARGET_TOOLS_PREFIX)ld.bfd ]; then LD=$(TARGET_TOOLS_PREFIX)ld.bfd; else LD=$(TARGET_TOOLS_PREFIX)ld; fi && \
+ if [ -e $(KERNEL_TOOLS_PREFIX)ld.bfd ]; then LD=$(KERNEL_TOOLS_PREFIX)ld.bfd; else LD=$(KERNEL_TOOLS_PREFIX)ld; fi && \
export PATH=../$(BUILD_OUT_EXECUTABLES):$(PATH) && \
- $(MAKE) -j1 $(KERNEL_VERBOSE) ARCH=arm CROSS_COMPILE=$(KERNEL_TOOLCHAIN) LD=$$LD defconfig $(KERNEL_CONFIG) &&\
- $(MAKE) $(KERNEL_VERBOSE) ARCH=arm CROSS_COMPILE=$(shell sh -c "cd $(TOP); cd `dirname $(TARGET_TOOLS_PREFIX)`; pwd")/$(shell basename $(TARGET_TOOLS_PREFIX)) LD=$$LD uImage
+ $(MAKE) -j1 $(KERNEL_VERBOSE) ARCH=arm CROSS_COMPILE=$(KERNEL_TOOLS_PREFIX) LD=$$LD defconfig $(KERNEL_CONFIG) &&\
+ $(MAKE) $(KERNEL_VERBOSE) ARCH=arm CROSS_COMPILE=$(KERNEL_TOOLS_PREFIX) LD=$$LD uImage
android_kernel_modules: $(INSTALLED_KERNEL_TARGET) $(ACP)
cd $(TOP)/kernel &&\
- if [ -e $(TARGET_TOOLS_PREFIX)ld.bfd ]; then LD=$(TARGET_TOOLS_PREFIX)ld.bfd; else LD=$(TARGET_TOOLS_PREFIX)ld; fi && \
+ if [ -e $(KERNEL_TOOLS_PREFIX)ld.bfd ]; then LD=$(KERNEL_TOOLS_PREFIX)ld.bfd; else LD=$(KERNEL_TOOLS_PREFIX)ld; fi && \
export PATH=../$(BUILD_OUT_EXECUTABLES):$(PATH) && \
- $(MAKE) ARCH=arm CROSS_COMPILE=$(KERNEL_TOOLCHAIN) LD=$$LD EXTRA_CFLAGS="$(EXTRA_CFLAGS) -fno-pic" modules
+ $(MAKE) ARCH=arm CROSS_COMPILE=$(KERNEL_TOOLS_PREFIX) LD=$$LD EXTRA_CFLAGS="$(EXTRA_CFLAGS) -fno-pic" modules
mkdir -p $(TOP)/kernel/modules_for_android
cd $(TOP)/kernel &&\
- if [ -e $(TARGET_TOOLS_PREFIX)ld.bfd ]; then LD=$(TARGET_TOOLS_PREFIX)ld.bfd; else LD=$(TARGET_TOOLS_PREFIX)ld; fi && \
- $(MAKE) ARCH=arm CROSS_COMPILE=$(KERNEL_TOOLCHAIN) LD=$$LD modules_install INSTALL_MOD_PATH=modules_for_android
+ if [ -e $(KERNEL_TOOLS_PREFIX)ld.bfd ]; then LD=$(KERNEL_TOOLS_PREFIX)ld.bfd; else LD=$(KERNEL_TOOLS_PREFIX)ld; fi && \
+ $(MAKE) ARCH=arm CROSS_COMPILE=$(KERNEL_TOOLS_PREFIX) LD=$$LD modules_install INSTALL_MOD_PATH=modules_for_android
mkdir -p $(TARGET_OUT)/modules
find kernel/modules_for_android -name "*.ko" -exec $(ACP) -fpt {} $(TARGET_OUT)/modules/ \;
@@ -35,9 +35,9 @@ ifeq ($(TARGET_USE_GATOR),true)
KERNEL_PATH:=$(shell pwd)/kernel
gator_driver: android_kernel_modules $(INSTALLED_KERNEL_TARGET) $(ACP)
cd $(TOP)/external/gator/driver &&\
- if [ -e $(TARGET_TOOLS_PREFIX)ld.bfd ]; then LD=$(TARGET_TOOLS_PREFIX)ld.bfd; else LD=$(TARGET_TOOLS_PREFIX)ld; fi && \
+ if [ -e $(KERNEL_TOOLS_PREFIX)ld.bfd ]; then LD=$(KERNEL_TOOLS_PREFIX)ld.bfd; else LD=$(KERNEL_TOOLS_PREFIX)ld; fi && \
export PATH=../$(BUILD_OUT_EXECUTABLES):$(PATH) && \
- $(MAKE) ARCH=arm CROSS_COMPILE=$(KERNEL_TOOLCHAIN) LD=$$LD EXTRA_CFLAGS="$(EXTRA_CFLAGS) -fno-pic" -C $(KERNEL_PATH) M=`pwd` modules
+ $(MAKE) ARCH=arm CROSS_COMPILE=$(KERNEL_TOOLS_PREFIX) LD=$$LD EXTRA_CFLAGS="$(EXTRA_CFLAGS) -fno-pic" -C $(KERNEL_PATH) M=`pwd` modules
mkdir -p $(TARGET_OUT)/modules
find $(TOP)/external/gator/driver/. -name "*.ko" -exec $(ACP) -fpt {} $(TARGET_OUT)/modules/ \;
else