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>
This commit is contained in:
Masahiro Yamada 2014-08-05 15:56:44 +09:00 committed by Tom Rini
parent 6419e14492
commit e773440425
2 changed files with 7 additions and 14 deletions

View File

@ -437,12 +437,12 @@ ifeq ($(mixed-targets),1)
# We're called with mixed targets (*config and build targets). # We're called with mixed targets (*config and build targets).
# Handle them one by one. # 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; \ $(Q)set -e; \
for i in $(MAKECMDGOALS); do \ for i in $(MAKECMDGOALS); do \
$(MAKE) -f $(srctree)/Makefile $$i; \ $(MAKE) -f $(srctree)/Makefile $$i; \

View File

@ -42,18 +42,11 @@ MAKEARGS += O=\$(if \$(patsubst /%,,\$(makedir)),\$(CURDIR)/)\$(patsubst %/,%,\$
MAKEFLAGS += --no-print-directory MAKEFLAGS += --no-print-directory
.PHONY: all \$(MAKECMDGOALS) .PHONY: __sub-make \$(MAKECMDGOALS)
all := \$(filter-out all Makefile,\$(MAKECMDGOALS)) __sub-make:
\$(Q)\$(MAKE) \$(MAKEARGS) \$(MAKECMDGOALS)
all: \$(filter-out __sub-make, \$(MAKECMDGOALS)): __sub-make
\$(Q)\$(MAKE) \$(MAKEARGS) \$(all)
Makefile:;
\$(all): all
@:
%/: all
@: @:
EOF EOF