From 053dc3b77ad1fa15e281f70447706fe62780e47b Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@nbd.name>
Date: Mon, 23 Jan 2017 21:53:47 +0100
Subject: [PATCH] build: do not auto-clean packages where the autoremove step
 has not run

This avoids repeatedly unpacking and rebuilding packages that are
failing the build. Re-running the failing step should be much faster.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
 include/package.mk | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/include/package.mk b/include/package.mk
index fc2733907e..01c0333b06 100644
--- a/include/package.mk
+++ b/include/package.mk
@@ -216,6 +216,7 @@ define Build/CoreTargets
 
   ifneq ($(CONFIG_AUTOREMOVE),)
     compile:
+		touch $(PKG_BUILD_DIR)/.autoremove
 		$(FIND) $(PKG_BUILD_DIR) -mindepth 1 -maxdepth 1 -not '(' -type f -and -name '.*' -and -size 0 ')' -and -not -name '.pkgdir' | \
 			$(XARGS) rm -rf
   endif
@@ -300,10 +301,12 @@ compile: prepare-package-install
 .install: .compile
 install: compile
 
-clean-build: FORCE
+force-clean-build: FORCE
 	rm -rf $(PKG_BUILD_DIR)
 
-clean: clean-build
+clean-build: $(if $(wildcard $(PKG_BUILD_DIR)/.autoremove),force-clean-build)
+
+clean: force-clean-build
 	$(CleanStaging)
 	$(call Build/UninstallDev,$(STAGING_DIR),$(STAGING_DIR_HOST))
 	$(Build/Clean)
-- 
GitLab