Makefile: fix out-of-tree builds with multiple targets with 'all'
authorYann E. MORIN <yann.morin.1998@free.fr>
Tue, 5 Nov 2013 23:28:20 +0000 (00:28 +0100)
committerPeter Korsgaard <peter@korsgaard.com>
Wed, 6 Nov 2013 22:24:47 +0000 (23:24 +0100)
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>
support/scripts/mkmakefile

index cef2ec707083bcb57bcd15797f80e65946c2af8a..27b15073f370f735d8939becd4ea6f63a43a266c 100755 (executable)
@@ -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