Makefile: fix out-of-tree builds with multiple targets with 'all'

For out-of-tree builds, this use-case fails to build:
    $ make clean all

This is because 'all' is filtered-out in the Makefile wrapper, since
the wrapper itself has a 'all' target.

The 'all' target is just the usual naming for the default target in a
Makefile. In fact, the first target is the default one, so we can name
it whatever we want.

Rename the Makefile wrapper 'all' target to avoid name-clashing.

Fixes #6644.

Reported-by: Ryan Barnett <rjbarnet@rockwellcollins.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Ryan Barnett <rjbarnet@rockwellcollins.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Ryan Barnett <rjbarnet@rockwellcollins.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Yann E. MORIN 2013-11-06 00:28:20 +01:00 committed by Peter Korsgaard
parent 7f02c73f8d
commit 971faf828d

View File

@ -32,16 +32,16 @@ MAKEFLAGS += --no-print-directory
.PHONY: all \$(MAKECMDGOALS)
all := \$(filter-out all Makefile,\$(MAKECMDGOALS))
all := \$(filter-out Makefile,\$(MAKECMDGOALS))
all:
_all:
\$(MAKE) \$(MAKEARGS) \$(all)
Makefile:;
\$(all): all
\$(all): _all
@:
%/: all
%/: _all
@:
EOF