Makefile: printvars: don't print anything when VARS is not set
authorArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Tue, 12 Mar 2019 17:55:34 +0000 (18:55 +0100)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Tue, 12 Mar 2019 20:58:32 +0000 (21:58 +0100)
Using 'make printvars' for printing all variables is not very useful.
E.g. all macros will output some bogus value. In addition, the same can
be achieved with 'make -p'.

We can simply remove the condition on $(VARS). If VARS is not set, the
filter expression will be empty which matches nothing, so nothing is
printed.

Note that the old behaviour can still be achieved with:
make printvars VARS=%

Update the 'make help' text to match the new behaviour.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Makefile

index a64196f9c3649118480ab6016089b04120eaf479..6af89238924f2a47b7034fc58c63ffd3f091333d 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1031,7 +1031,7 @@ $(BUILD_DIR)/.br2-external.in: $(BUILD_DIR)
 printvars:
        @:
        $(foreach V, \
-               $(sort $(if $(VARS),$(filter $(VARS),$(.VARIABLES)),$(.VARIABLES))), \
+               $(sort $(filter $(VARS),$(.VARIABLES))), \
                $(if $(filter-out environment% default automatic, \
                                $(origin $V)), \
                $(if $(QUOTED_VARS),\
@@ -1124,7 +1124,7 @@ help:
        @echo '  source                 - download all sources needed for offline-build'
        @echo '  external-deps          - list external packages used'
        @echo '  legal-info             - generate info about license compliance'
-       @echo '  printvars              - dump all the internal variables'
+       @echo '  printvars              - dump internal variables selected with VARS=...'
        @echo
        @echo '  make V=0|1             - 0 => quiet build (default), 1 => verbose build'
        @echo '  make O=dir             - Locate all output files in "dir", including .config'