force build of packages when using quilt
[openwrt/openwrt.git] / include / quilt.mk
index dbf0435f99e0e02a3c8b26979f4b7894e7ac934a..395f64e1747335b648d79ef2a2725524b4105fd8 100644 (file)
@@ -32,8 +32,9 @@ ifneq ($(QUILT),)
        @echo
        touch $(PKG_BUILD_DIR)/.quilt_used
   endef
-  $(STAMP_CONFIGURED): $(STAMP_PATCHED)
+  $(STAMP_CONFIGURED): $(STAMP_PATCHED) FORCE
   prepare: $(STAMP_PATCHED)
+  quilt-check: $(STAMP_PATCHED)
 else
   define Build/Patch/Default
        @if [ -d ./patches -a "$$$$(ls ./patches | wc -l)" -gt 0 ]; then \
@@ -49,9 +50,9 @@ define Kernel/Patch/Default
                if [ -d $(GENERIC_PLATFORM_DIR)/patches ]; then $(PATCH) $(LINUX_DIR) $(GENERIC_PLATFORM_DIR)/patches; fi \
        )
        $(if $(strip $(QUILT)),$(call Quilt/Patch,./patches,platform/), \
-               if [ -d ./files ]; then $(CP) ./files/* $(LINUX_DIR)/; fi \
+               if [ -d ./patches ]; then $(PATCH) $(LINUX_DIR) ./patches; fi \
        )
-       touch $(PKG_BUILD_DIR)/.quilt_used
+       $(if $(strip $(QUILT)),touch $(PKG_BUILD_DIR)/.quilt_used)
 endef
 
 $(STAMP_PATCHED): $(STAMP_PREPARED)
@@ -82,7 +83,7 @@ define Quilt/Refresh/Kernel
        $(call Quilt/RefreshDir,./patches,platform/)
 endef
 
-refresh: $(STAMP_PREPARED)
+quilt-check: $(STAMP_PREPARED) FORCE
        @[ -f "$(PKG_BUILD_DIR)/.quilt_used" ] || { \
                echo "The source directory was not unpacked using quilt. Please rebuild with QUILT=1"; \
                false; \
@@ -95,5 +96,14 @@ refresh: $(STAMP_PREPARED)
                echo "The patches are not sorted in the right order. Please fix."; \
                false; \
        }
+
+refresh: quilt-check
+       @cd $(PKG_BUILD_DIR); quilt pop -a -f >/dev/null 2>/dev/null
+       @cd $(PKG_BUILD_DIR); while quilt next 2>/dev/null >/dev/null && quilt push; do \
+               quilt refresh; \
+       done; ! quilt next 2>/dev/null >/dev/null
+       $(if $(KERNEL_BUILD),$(Quilt/Refresh/Kernel),$(Quilt/Refresh/Package))
+       
+update: quilt-check
        $(if $(KERNEL_BUILD),$(Quilt/Refresh/Kernel),$(Quilt/Refresh/Package))