diff mbox

[U-Boot,2/3] kbuild: sync mixed targets handling with Linux 3.16

Message ID 1407221805-18467-3-git-send-email-yamada.m@jp.panasonic.com
State Accepted
Delegated to: Tom Rini
Headers show

Commit Message

Masahiro Yamada Aug. 5, 2014, 6:56 a.m. UTC
"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>
---

 Makefile           |  6 +++---
 scripts/mkmakefile | 15 ++++-----------
 2 files changed, 7 insertions(+), 14 deletions(-)

Comments

Tom Rini Aug. 23, 2014, 12:41 p.m. UTC | #1
On Tue, Aug 05, 2014 at 03:56:44PM +0900, Masahiro Yamada wrote:

> "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>

Applied to u-boot/master, thanks!
diff mbox

Patch

diff --git a/Makefile b/Makefile
index e772c1c..dd07550 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 0cc0442..84af27b 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