fix quilt variable and stampfile usage for host builds
[openwrt/svn-archive/archive.git] / include / quilt.mk
index 77b76a6daee91d6dec0a2ff7e67942e68514486b..32a62fb0df1eb1801993a91f5b07a1070448b248 100644 (file)
@@ -3,9 +3,8 @@
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
-#
 
-ifneq ($(__quilt_inc),1)
+ifneq ($(if $(DUMP),1,$(__quilt_inc)),1)
 __quilt_inc:=1
 
 ifeq ($(TARGET_BUILD),1)
@@ -13,6 +12,8 @@ ifeq ($(TARGET_BUILD),1)
 endif
 PATCH_DIR?=./patches
 FILES_DIR?=./files
+HOST_PATCH_DIR?=$(PATCH_DIR)
+HOST_FILES_DIR?=$(FILES_DIR)
 
 ifeq ($(MAKECMDGOALS),refresh)
   override QUILT=1
@@ -54,8 +55,12 @@ define PatchDir
 $(call PatchDir/$(if $(strip $(QUILT)),Quilt,Default),$(strip $(1)),$(strip $(2)),$(strip $(3)))
 endef
 
+define HostPatchDir
+$(call PatchDir/$(if $(strip $(HOST_QUILT)),Quilt,Default),$(strip $(1)),$(strip $(2)),$(strip $(3)))
+endef
+
 ifneq ($(PKG_BUILD_DIR),)
-  QUILT?=$(strip $(shell test -f $(PKG_BUILD_DIR)/.quilt_used && echo y))
+  QUILT?=$(if $(wildcard $(PKG_BUILD_DIR)/.quilt_used),y)
   ifneq ($(QUILT),)
     STAMP_PATCHED:=$(PKG_BUILD_DIR)/.quilt_patched
     STAMP_CHECKED:=$(PKG_BUILD_DIR)/.quilt_checked
@@ -66,7 +71,7 @@ ifneq ($(PKG_BUILD_DIR),)
 endif
 
 ifneq ($(HOST_BUILD_DIR),)
-  HOST_QUILT?=$(strip $(shell test -f $(if $(PKG_BUILD_DIR),$(PKG_BUILD_DIR),$(HOST_BUILD_DIR))/.quilt_used && echo y))
+  HOST_QUILT?=$(if $(findstring command,$(origin $(QUILT))),$(QUILT),$(if $(wildcard $(HOST_BUILD_DIR)/.quilt_used),y))
   ifneq ($(HOST_QUILT),)
     HOST_STAMP_PATCHED:=$(HOST_BUILD_DIR)/.quilt_patched
     HOST_STAMP_CHECKED:=$(HOST_BUILD_DIR)/.quilt_checked
@@ -77,9 +82,9 @@ ifneq ($(HOST_BUILD_DIR),)
 endif
 
 define Host/Patch/Default
-       $(if $(QUILT),rm -rf $(HOST_BUILD_DIR)/patches; mkdir -p $(HOST_BUILD_DIR)/patches)
-       $(call PatchDir,$(HOST_BUILD_DIR),$(PATCH_DIR),)
-       $(if $(QUILT),touch $(HOST_BUILD_DIR)/.quilt_used)
+       $(if $(HOST_QUILT),rm -rf $(HOST_BUILD_DIR)/patches; mkdir -p $(HOST_BUILD_DIR)/patches)
+       $(call HostPatchDir,$(HOST_BUILD_DIR),$(HOST_PATCH_DIR),)
+       $(if $(HOST_QUILT),touch $(HOST_BUILD_DIR)/.quilt_used)
 endef
 
 define Build/Patch/Default