summaryrefslogtreecommitdiff
path: root/tasks/kernel.mk
diff options
context:
space:
mode:
Diffstat (limited to 'tasks/kernel.mk')
-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