Adds support for using a local clone of a git tree
[openwrt-10.03/.git] / include / kernel-defaults.mk
index d5cf1202b3382d3801459eb6e3a299dc3d71bb35..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)