summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Doan <andy.doan@linaro.org>2012-01-04 22:24:21 +0000
committerBernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>2012-01-05 20:31:29 +0059
commit61135637685bb0ec6623623a8fb917dd83c75f15 (patch)
tree316c2f00283f233cf09f0424fbc3656f211a88d9
parent73ac8d3c1035d0c069884e250cccbcce4d5e810b (diff)
(ALL): place kernel artificats under $(OUT)
We currently build the kernel artifacts in tree rather than in the android output directory. This updates the build process to put the kernel outputs under a directory similar to how uboot is built Change-Id: I9bfb7fbcf87cf4af1ea120280ecb453cee2b6cd4 Depends-On: I1686b9ea0e23c417eaf44f19375c07190cb3c994 Signed-off-by: Andy Doan <andy.doan@linaro.org>
-rw-r--r--tasks/kernel.mk21
1 files changed, 13 insertions, 8 deletions
diff --git a/tasks/kernel.mk b/tasks/kernel.mk
index a548b61..f928264 100644
--- a/tasks/kernel.mk
+++ b/tasks/kernel.mk
@@ -13,32 +13,37 @@ endif
LOCAL_CFLAGS=$(call cc-option,"-mno-unaligned-access", )
+ODIR=$(shell readlink -f $(PRODUCT_OUT)/obj/kernel)
+
android_kernel: $(PRODUCT_OUT)/u-boot.bin
+ mkdir -p $(ODIR)
cd $(TOP)/kernel &&\
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 KCFLAGS="$(TARGET_EXTRA_CFLAGS) -fno-pic $(LOCAL_CFLAGS)" $(KERNEL_VERBOSE) ARCH=arm CROSS_COMPILE=$(KERNEL_TOOLS_PREFIX) LD=$$LD defconfig $(KERNEL_CONFIG) &&\
- $(MAKE) $(KERNEL_VERBOSE) ARCH=arm CROSS_COMPILE=$(KERNEL_TOOLS_PREFIX) KCFLAGS="$(TARGET_EXTRA_CFLAGS) -fno-pic $(LOCAL_CFLAGS)" LD=$$LD uImage
+ $(MAKE) -j1 KCFLAGS="$(TARGET_EXTRA_CFLAGS) -fno-pic $(LOCAL_CFLAGS)" $(KERNEL_VERBOSE) O=$(ODIR) ARCH=arm CROSS_COMPILE=$(KERNEL_TOOLS_PREFIX) LD=$$LD defconfig $(KERNEL_CONFIG) &&\
+ $(MAKE) $(KERNEL_VERBOSE) O=$(ODIR) ARCH=arm CROSS_COMPILE=$(KERNEL_TOOLS_PREFIX) KCFLAGS="$(TARGET_EXTRA_CFLAGS) -fno-pic $(LOCAL_CFLAGS)" LD=$$LD uImage
android_kernel_modules: $(INSTALLED_KERNEL_TARGET) $(ACP)
cd $(TOP)/kernel &&\
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_TOOLS_PREFIX) LD=$$LD EXTRA_CFLAGS="$(EXTRA_CFLAGS) -fno-pic" KCFLAGS="$(TARGET_EXTRA_CFLAGS) -fno-pic $(LOCAL_CFLAGS)" modules
- mkdir -p modules_for_android
+ $(MAKE) O=$(ODIR) ARCH=arm CROSS_COMPILE=$(KERNEL_TOOLS_PREFIX) LD=$$LD EXTRA_CFLAGS="$(EXTRA_CFLAGS) -fno-pic" KCFLAGS="$(TARGET_EXTRA_CFLAGS) -fno-pic $(LOCAL_CFLAGS)" modules
+ mkdir -p $(ODIR)/modules_for_android
cd $(TOP)/kernel &&\
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) KCFLAGS="$(TARGET_EXTRA_CFLAGS) -fno-pic $(LOCAL_CFLAGS)" LD=$$LD modules_install INSTALL_MOD_PATH=modules_for_android
+ $(MAKE) O=$(ODIR) ARCH=arm CROSS_COMPILE=$(KERNEL_TOOLS_PREFIX) KCFLAGS="$(TARGET_EXTRA_CFLAGS) -fno-pic $(LOCAL_CFLAGS)" LD=$$LD modules_install INSTALL_MOD_PATH=$(ODIR)/modules_for_android
mkdir -p $(TARGET_OUT)/modules
- find modules_for_android -name "*.ko" -exec $(ACP) -fpt {} $(TARGET_OUT)/modules/ \;
+ find $(ODIR)/modules_for_android -name "*.ko" -exec $(ACP) -fpt {} $(TARGET_OUT)/modules/ \;
+#NOTE: the gator driver's Makefile wasn't done properly and doesn't put build
+# artifacts in the O=$(ODIR)
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 $(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_TOOLS_PREFIX) LD=$$LD EXTRA_CFLAGS="$(EXTRA_CFLAGS) -fno-pic" KCFLAGS="$(TARGET_EXTRA_CFLAGS) -fno-pic $(LOCAL_CFLAGS)" -C $(KERNEL_PATH) M=`pwd` modules
+ $(MAKE) O=$(ODIR) ARCH=arm CROSS_COMPILE=$(KERNEL_TOOLS_PREFIX) LD=$$LD EXTRA_CFLAGS="$(EXTRA_CFLAGS) -fno-pic" KCFLAGS="$(TARGET_EXTRA_CFLAGS) -fno-pic $(LOCAL_CFLAGS)" -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
@@ -48,6 +53,6 @@ endif
out_of_tree_modules: $(INSTALLED_KERNEL_TARGET) gator_driver
$(INSTALLED_KERNEL_TARGET): android_kernel
- ln -sf ../../../../kernel/arch/arm/boot/uImage $(INSTALLED_KERNEL_TARGET)
+ ln -sf $(ODIR)/arch/arm/boot/uImage $(INSTALLED_KERNEL_TARGET)
$(INSTALLED_SYSTEMTARBALL_TARGET): android_kernel_modules out_of_tree_modules