Hi Marc-André,
On 01/04/2018 01:05 PM, Marc-André Lureau wrote:
> $ make print-CFLAGS
> CFLAGS=-fsanitize=address -Og -g
smiley mode:
$ make print-*
*=*
I didn't understood this one:
$ make print-\$
CC tests/qemu-iotests/socket_scm_helper.o
LINK tests/qemu-iotests/socket_scm_helper
GEN qga/qapi-generated/qga-qapi-types.h
GEN qga/qapi-generated/qga-qapi-visit.h
GEN qga/qapi-generated/qga-qmp-commands.h
CC qga/commands.o
...
> Trick from various sources:
> https://stackoverflow.com/questions/16467718/how-to-print-out-a-variable-in-makefile
> https://www.cmcrossroads.com/article/printing-value-makefile-variable
>
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> Makefile | 5 ++++-
> docs/devel/build-system.txt | 13 +++++++++++++
> 2 files changed, 17 insertions(+), 1 deletion(-)
>
> diff --git a/Makefile b/Makefile
> index 1671db3bdd..f26ef1b1df 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -8,9 +8,12 @@ SRC_PATH=.
>
> UNCHECKED_GOALS := %clean TAGS cscope ctags dist \
> html info pdf txt \
> - help check-help \
> + help check-help print-% \
> docker docker-% vm-test vm-build-%
>
> +print-%:
> + @echo '$*=$($*)'
> +
> # All following code might depend on configuration variables
> ifneq ($(wildcard config-host.mak),)
> # Put the all: rule here so that config-host.mak can contain dependencies.
> diff --git a/docs/devel/build-system.txt b/docs/devel/build-system.txt
> index 386ef36ee3..52501f2ad9 100644
> --- a/docs/devel/build-system.txt
> +++ b/docs/devel/build-system.txt
> @@ -510,3 +510,16 @@ default-configs/$TARGET-NAME file as input.
> This is the entrypoint used when make recurses to build a single system
> or userspace emulator target. It is merely a symlink back to the
> Makefile.target in the top level.
> +
> +
> +Useful make targets
> +===================
> +
> +- help
> +
> + Print a help message for the most common build targets.
> +
> +- print-VAR
> +
> + Print the value of the variable VAR. Useful for debugging the build
> + system.
>