Adds support for using a local clone of a git tree
[openwrt-10.03/.git] / include / kernel-defaults.mk
index 78695629174f402b90ae56eaf50a15c320ca11ae..46f7e000460e3431762456593a39141c0ccc855c 100644 (file)
@@ -34,19 +34,31 @@ endif
 # defined in quilt.mk
 Kernel/Patch:=$(Kernel/Patch/Default)
 ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"")
-define Kernel/Prepare/Default
+  ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"")
+    define Kernel/Prepare/Default
        bzcat $(DL_DIR)/$(LINUX_SOURCE) | $(TAR) -C $(KERNEL_BUILD_DIR) $(TAR_OPTIONS)
        $(Kernel/Patch)
-       $(if $(QUILT),touch $(LINUX_DIR)/.quilt_used)
-endef
-else
+       touch $(LINUX_DIR)/.quilt_used
+    endef
+  else
+    ifeq ($(strip $(CONFIG_KERNEL_GIT_LOCAL_REPOSITORY)),"")
 define Kernel/Prepare/Default
+       git clone $(CONFIG_KERNEL_GIT_CLONE_URI) $(LINUX_DIR)
+    endef
+  else
+    define Kernel/Prepare/Default
+       git clone --reference $(CONFIG_KERNEL_GIT_LOCAL_REPOSITORY) $(CONFIG_KERNEL_GIT_CLONE_URI) $(LINUX_DIR) 
+    endef
+  endif
+endif
+else
+  define Kernel/Prepare/Default
        mkdir -p $(KERNEL_BUILD_DIR)
        if [ -d $(LINUX_DIR) ]; then \
                rmdir $(LINUX_DIR); \
        fi
        ln -s $(CONFIG_EXTERNAL_KERNEL_TREE) $(LINUX_DIR)
-endef
+  endef
 endif
 
 ifeq ($(KERNEL),2.6)
@@ -69,11 +81,11 @@ endif
 
 define Kernel/Configure/2.4
        $(SED) "s,\-mcpu=,\-mtune=,g;" $(LINUX_DIR)/arch/mips/Makefile
-       $(MAKE) $(KERNEL_MAKEOPTS) oldconfig include/linux/compile.h include/linux/version.h
-       $(MAKE) $(KERNEL_MAKEOPTS) dep
+       $(_SINGLE)$(MAKE) $(KERNEL_MAKEOPTS) oldconfig include/linux/compile.h include/linux/version.h
+       $(_SINGLE)$(MAKE) $(KERNEL_MAKEOPTS) dep
 endef
 define Kernel/Configure/2.6
-       -$(MAKE) $(KERNEL_MAKEOPTS) oldconfig prepare scripts
+       -$(_SINGLE)$(MAKE) $(KERNEL_MAKEOPTS) oldconfig prepare scripts
 endef
 define Kernel/Configure/Default
        $(LINUX_CONFCMD) > $(LINUX_DIR)/.config.target
@@ -86,12 +98,12 @@ endef
 
 define Kernel/CompileModules/Default
        rm -f $(LINUX_DIR)/vmlinux $(LINUX_DIR)/System.map
-       $(MAKE) $(KERNEL_MAKEOPTS) modules
+       +$(MAKE) $(KERNEL_MAKEOPTS) modules
 endef
 
 define Kernel/CompileImage/Default
        $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),,rm -f $(TARGET_DIR)/init)
-       $(MAKE) $(KERNEL_MAKEOPTS) $(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
@@ -99,7 +111,7 @@ endef
 define Kernel/Clean/Default
        rm -f $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION)/.configured
        rm -f $(LINUX_KERNEL)
-       $(MAKE) -C $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION) clean
+       $(_SINGLE)$(MAKE) -C $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION) clean
 endef