* Re: [Qemu-devel] [PATCH] Makefile: suppress command echoing in silent mode (make -s)
2015-09-11 7:15 ` [Qemu-devel] [PATCH] Makefile: suppress command echoing in silent mode (make -s) Michael Tokarev
@ 2015-09-11 7:38 ` Jérôme Forissier
0 siblings, 0 replies; 2+ messages in thread
From: Jérôme Forissier @ 2015-09-11 7:38 UTC (permalink / raw)
To: Michael Tokarev, qemu-trivial; +Cc: qemu-devel
On 09/11/2015 09:15 AM, Michael Tokarev wrote:
> 02.09.2015 12:14, Jerome Forissier wrote:
>> Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
>
> Please Cc qemu-devel on patches.
OK, sorry. I wrongly assumed that trivial patches were to be sent to
qemu-trivial only to avoid "polluting" qemu-devel. Obviously I read
http://wiki.qemu.org/Contribute/TrivialPatches too quickly.
>> rules.mak | 13 ++++++++++++-
>> 1 file changed, 12 insertions(+), 1 deletion(-)
>>
>> diff --git a/rules.mak b/rules.mak
>> index 4551b9e..a44ba29 100644
>> --- a/rules.mak
>> +++ b/rules.mak
>> @@ -125,7 +125,18 @@ modules:
>> %.a:
>> $(call quiet-command,rm -f $@ && $(AR) rcs $@ $^," AR $(TARGET_DIR)$@")
>>
>> -quiet-command = $(if $(V),$1,$(if $(2),@echo $2 && $1, @$1))
>> +# Suppress command echoing in silent mode (make -s)
>> +ifneq ($(filter 4.%,$(MAKE_VERSION)),) # make-4
>> +ifneq ($(filter %s ,$(firstword x$(MAKEFLAGS))),)
>> +SILENT := 1
>> +endif
>> +else # make-3.8x
>> +ifneq ($(findstring s, $(MAKEFLAGS)),)
>> +SILENT := 1
>> +endif
>> +endif
>> +
>> +quiet-command = $(if $(V),$1,$(if $(2),$(if $(SILENT),@$1,@echo $2 && $1),@$1))
>
> I'm not sure this is needed. We have V=1/V=0 way of controlling silent mode
> already,
Unless I'm mistaken, V does not allow silent mode. The current behavior is:
- "make" prints short commands only. For instance: " CC file.o".
- "make V=1" prints the full commands instead (and BTW "make V=0" does
the same, which is a bit unexpected). For instance: "cc <flags> -c -o
file.o file.c".
But, AFAICT, there is no way to suppress all output altogether. With the
proposed patch, you can use "make -s" and get *no* output unless there
is an error.
Silent mode is useful in continuous integration scenarios, where nobody
is sitting in front of the terminal to watch the progress of the build,
and it's better not to fill up the build logs with stuff unless we have
an error.
> why add another way, which is also twisted (depends on make version
> and complicates already complex makefiles)?
Yeah it's a bit unfortunate that make changed its behavior :(
Thanks,
--
Jerome
^ permalink raw reply [flat|nested] 2+ messages in thread