summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/package.mk2
-rw-r--r--include/subdir.mk7
-rw-r--r--package/Makefile4
3 files changed, 9 insertions, 4 deletions
diff --git a/include/package.mk b/include/package.mk
index 89530616e..e322cb908 100644
--- a/include/package.mk
+++ b/include/package.mk
@@ -26,7 +26,7 @@ include $(INCLUDE_DIR)/package-ipkg.mk
export CONFIG_SITE:=$(INCLUDE_DIR)/site/$(REAL_GNU_TARGET_NAME)
-ifeq ($(DUMP),)
+ifeq ($(DUMP)$(filter prereq clean refresh update,$(MAKECMDGOALS)),)
ifneq ($(CONFIG_AUTOREBUILD),)
define Build/Autoclean
$(PKG_BUILD_DIR)/.dep_files: $(STAMP_PREPARED)
diff --git a/include/subdir.mk b/include/subdir.mk
index a27333d9e..da37573c7 100644
--- a/include/subdir.mk
+++ b/include/subdir.mk
@@ -7,8 +7,13 @@
SUBTARGETS:=clean download prepare compile install update refresh prereq
+subtarget-default = $(filter-out ., \
+ $(if $($(1)/builddirs-$(2)),$($(1)/builddirs-$(2)), \
+ $(if $($(1)/builddirs-default),$($(1)/builddirs-default), \
+ $($(1)/builddirs))))
+
define subtarget
- $(call warn_eval,$(1),t,T,$(1)/$(2): $($(1)/) $(foreach bd,$(if $($(1)/builddirs-$(2)),$(filter-out .,$($(1)/builddirs-$(2))),$($(1)/builddirs)),$(1)/$(bd)/$(2)))
+ $(call warn_eval,$(1),t,T,$(1)/$(2): $($(1)/) $(foreach bd,$(call subtarget-default,$(1),$(2)),$(1)/$(bd)/$(2)))
endef
diff --git a/package/Makefile b/package/Makefile
index 31f03c01b..78ea07068 100644
--- a/package/Makefile
+++ b/package/Makefile
@@ -11,9 +11,9 @@ curdir:=package
include .config
-include $(TMP_DIR)/.packagedeps
$(curdir)/builddirs:=$(sort $(package-) $(package-y) $(package-m))
-$(curdir)/builddirs-compile:=$(sort $(package-y) $(package-m))
-$(curdir)/builddirs-install:=. $(sort $(package-y))
+$(curdir)/builddirs-default:=. $(sort $(package-y) $(package-m))
$(curdir)/builddirs-prereq:=. $(sort $(prereq-y) $(prereq-m))
+$(curdir)/builddirs-install:=. $(sort $(package-y))
$(curdir)//compile:=.config prereq
$(curdir)/install:=$(curdir)/install-cleanup