summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2017-01-22 17:40:29 +0100
committerFelix Fietkau <nbd@nbd.name>2017-01-22 17:40:31 +0100
commit0e22d6377569cea4ba00b81d6ec64a1582a2cea4 (patch)
tree894de324de0abaf69607830fb5cebea34f1c12d6
parent34ec245662766354ce0d19d586bb08f220ddb3b3 (diff)
downloadopenwrt-0e22d6377569cea4ba00b81d6ec64a1582a2cea4.tar.gz
openwrt-0e22d6377569cea4ba00b81d6ec64a1582a2cea4.tar.bz2
openwrt-0e22d6377569cea4ba00b81d6ec64a1582a2cea4.zip
build: fix CONFIG_AUTOREMOVE for packages with multiple variants
Calling the clean target removes all .ipk files and un-stages the package. Add a new target just for clearing the build dir and call that one instead of the full clean target Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r--include/host-build.mk9
-rw-r--r--include/package.mk6
-rw-r--r--include/subdir.mk2
3 files changed, 12 insertions, 5 deletions
diff --git a/include/host-build.mk b/include/host-build.mk
index 6a335fcbc3..d96cc94fa3 100644
--- a/include/host-build.mk
+++ b/include/host-build.mk
@@ -176,15 +176,20 @@ ifndef DUMP
$(t): host-$(t)
.$(t): .host-$(t)
)
+ clean-build: host-clean-build
endif
$(_host_target)host-prepare: $(HOST_STAMP_PREPARED)
$(_host_target)host-configure: $(HOST_STAMP_CONFIGURED)
$(_host_target)host-compile: $(HOST_STAMP_BUILT) $(HOST_STAMP_INSTALLED)
- host-clean: FORCE
+
+ host-clean-build: FORCE
+ rm -rf $(HOST_BUILD_DIR) $(HOST_STAMP_BUILT)
+
+ host-clean: host-clean-build
$(call Host/Clean)
$(call Host/Uninstall)
- rm -rf $(HOST_BUILD_DIR) $(HOST_STAMP_INSTALLED) $(HOST_STAMP_BUILT)
+ rm -rf $(HOST_STAMP_INSTALLED)
ifneq ($(CONFIG_AUTOREMOVE),)
host-compile:
diff --git a/include/package.mk b/include/package.mk
index 95b5f76dc3..fc2733907e 100644
--- a/include/package.mk
+++ b/include/package.mk
@@ -300,12 +300,14 @@ compile: prepare-package-install
.install: .compile
install: compile
-clean: FORCE
+clean-build: FORCE
+ rm -rf $(PKG_BUILD_DIR)
+
+clean: clean-build
$(CleanStaging)
$(call Build/UninstallDev,$(STAGING_DIR),$(STAGING_DIR_HOST))
$(Build/Clean)
rm -f $(STAGING_DIR)/packages/$(STAGING_FILES_LIST) $(STAGING_DIR_HOST)/packages/$(STAGING_FILES_LIST)
- rm -rf $(PKG_BUILD_DIR)
dist:
$(Build/Dist)
diff --git a/include/subdir.mk b/include/subdir.mk
index e76a01e18a..6bbf23a492 100644
--- a/include/subdir.mk
+++ b/include/subdir.mk
@@ -52,7 +52,7 @@ rebuild_check = \
$(if $(BUILD_LOG),mkdir -p $(BUILD_LOG_DIR)/$(1)$(if $(4),/$(4));) \
$$(NO_TRACE_MAKE) $(if $(BUILD_LOG),-d) -q $(subdir_make_opts) .$(if $(3),$(3)-)$(2) \
> $(if $(BUILD_LOG),$(BUILD_LOG_DIR)/$(1)$(if $(4),/$(4))/check-$(if $(3),$(3)-)$(2).txt,/dev/null) 2>&1 || \
- $$(SUBMAKE) $(subdir_make_opts) clean >/dev/null 2>/dev/null
+ $$(SUBMAKE) $(subdir_make_opts) clean-build >/dev/null 2>/dev/null
endif