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