summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/host-build.mk7
-rw-r--r--include/quilt.mk11
-rw-r--r--tools/Makefile2
3 files changed, 13 insertions, 7 deletions
diff --git a/include/host-build.mk b/include/host-build.mk
index 83d80bedd5..b5c2a2203d 100644
--- a/include/host-build.mk
+++ b/include/host-build.mk
@@ -13,12 +13,13 @@ STAMP_PREPARED:=$(PKG_BUILD_DIR)/.prepared_$(shell find ${CURDIR} $(PKG_FILE_DEP
STAMP_CONFIGURED:=$(PKG_BUILD_DIR)/.configured
STAMP_BUILT:=$(PKG_BUILD_DIR)/.built
+include $(INCLUDE_DIR)/quilt.mk
+
+Build/Patch:=$(Build/Patch/Default)
ifneq ($(strip $(PKG_UNPACK)),)
define Build/Prepare/Default
$(PKG_UNPACK)
- @if [ -d ./patches ]; then \
- $(PATCH) $(PKG_BUILD_DIR) ./patches; \
- fi
+ $(Build/Patch)
endef
endif
diff --git a/include/quilt.mk b/include/quilt.mk
index 5fbdda1b9f..beb0840c00 100644
--- a/include/quilt.mk
+++ b/include/quilt.mk
@@ -10,7 +10,7 @@ ifneq ($(QUILT),)
STAMP_PREPARED:=$(strip $(STAMP_PREPARED))_q
STAMP_PATCHED:=$(PKG_BUILD_DIR)/.quilt_patched
CONFIG_AUTOREBUILD=
- PATCHES:=$(shell cd ./patches; ls)
+ PATCHES:=$(shell (cd ./patches && ls) 2>/dev/null)
define Build/Patch/Default
rm -rf $(PKG_BUILD_DIR)/patches
mkdir -p $(PKG_BUILD_DIR)/patches
@@ -36,18 +36,23 @@ endif
$(STAMP_PATCHED): $(STAMP_PREPARED)
@cd $(PKG_BUILD_DIR); quilt pop -a -f >/dev/null 2>/dev/null || true
- cd $(PKG_BUILD_DIR); quilt push -a
+ $(if $(strip $(PATCHES)),cd $(PKG_BUILD_DIR); quilt push -a)
touch $@
refresh: $(STAMP_PREPARED)
+ @[ -f "$(PKG_BUILD_DIR)/.quilt_used" ] || { \
+ echo "The source directory was not unpacked using quilt. Please rebuild with QUILT=1"; \
+ false; \
+ }
@[ -f "$(PKG_BUILD_DIR)/patches/series" ] || { \
- echo "The source directory was not unpacked using quilt. Please rebuild."; \
+ echo "The source directory contains no quilt patches."; \
false; \
}
@[ "$$(cat $(PKG_BUILD_DIR)/patches/series | md5sum)" = "$$(sort $(PKG_BUILD_DIR)/patches/series | md5sum)" ] || { \
echo "The patches are not sorted in the right order. Please fix."; \
false; \
}
+ mkdir -p ./patches
rm -f ./patches/* 2>/dev/null >/dev/null
@( \
for patch in $$(cat $(PKG_BUILD_DIR)/patches/series); do \
diff --git a/tools/Makefile b/tools/Makefile
index 513ecccb51..265c6aebf5 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -41,7 +41,7 @@ $(TOOL_HOST_INCLUDES): $(STAGING_DIR)/include-host/%.h: ./include/%.h
$(TOOL_BUILD_DIR):
@mkdir -p $@
-%-prereq %-download %-clean: FORCE
+%-prereq %-download %-clean %-refresh: FORCE
$(MAKE) -C $* $(patsubst $*-%,%,$@)
%-prepare: $(TOOL_HOST_INCLUDES) $(TOOL_BUILD_DIR) FORCE