diff --git a/Makefile b/Makefile index 38bd7a8f43..de65e2169b 100644 --- a/Makefile +++ b/Makefile @@ -437,12 +437,12 @@ ifeq ($(mixed-targets),1) # We're called with mixed targets (*config and build targets). # Handle them one by one. -PHONY += $(MAKECMDGOALS) build-one-by-one +PHONY += $(MAKECMDGOALS) __build_one_by_one -$(MAKECMDGOALS): build-one-by-one +$(filter-out __build_one_by_one, $(MAKECMDGOALS)): __build_one_by_one @: -build-one-by-one: +__build_one_by_one: $(Q)set -e; \ for i in $(MAKECMDGOALS); do \ $(MAKE) -f $(srctree)/Makefile $$i; \ diff --git a/scripts/mkmakefile b/scripts/mkmakefile index 0cc0442607..84af27bf0f 100644 --- a/scripts/mkmakefile +++ b/scripts/mkmakefile @@ -42,18 +42,11 @@ MAKEARGS += O=\$(if \$(patsubst /%,,\$(makedir)),\$(CURDIR)/)\$(patsubst %/,%,\$ MAKEFLAGS += --no-print-directory -.PHONY: all \$(MAKECMDGOALS) +.PHONY: __sub-make \$(MAKECMDGOALS) -all := \$(filter-out all Makefile,\$(MAKECMDGOALS)) +__sub-make: + \$(Q)\$(MAKE) \$(MAKEARGS) \$(MAKECMDGOALS) -all: - \$(Q)\$(MAKE) \$(MAKEARGS) \$(all) - -Makefile:; - -\$(all): all - @: - -%/: all +\$(filter-out __sub-make, \$(MAKECMDGOALS)): __sub-make @: EOF