From 0e22d6377569cea4ba00b81d6ec64a1582a2cea4 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@nbd.name>
Date: Sun, 22 Jan 2017 17:40:29 +0100
Subject: [PATCH] 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>
---
 include/host-build.mk | 9 +++++++--
 include/package.mk    | 6 ++++--
 include/subdir.mk     | 2 +-
 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
 
-- 
GitLab