summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.m@jp.panasonic.com>2014-08-05 15:56:44 +0900
committerTom Rini <trini@ti.com>2014-08-21 12:01:11 -0400
commite773440425873a5b595ccc4bbe40d7f27cff5235 (patch)
treea58d1b49b5c5c4216a12f669a9e4020004832279
parent6419e144924cf91f8f7c78e914247b02e34b2a89 (diff)
kbuild: sync mixed targets handling with Linux 3.16
"make %_config all" was supported for the first time in U-Boot: commit 53bca5ab kbuild: support simultaneous board configuration and "make all" Surprisingly it had not been working in Linux Kernel for a long time. So I sent back the patch to the Linux Kbuild community and it was accepted with a little code improvement, at commit 9319f453. Now, you can do "make defconfig all" or "make %_defconfig all" in Linux too. This commit updates some scripts to fill the code-diff between Linux and U-Boot. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
-rw-r--r--Makefile6
-rw-r--r--scripts/mkmakefile15
2 files changed, 7 insertions, 14 deletions
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