From 1b71fc7605417956b4618d12fcfff7ce758c8cf1 Mon Sep 17 00:00:00 2001 From: Andy Doan Date: Wed, 4 Jan 2012 22:24:45 +0000 Subject: (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 --- tasks/kernel.mk | 21 +++++++++++++-------- 1 file 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 -- cgit v1.2.3