qemu-trivial
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-trivial] [PATCH] Makefile: suppress command echoing in silent


From: Jérôme Forissier
Subject: Re: [Qemu-trivial] [PATCH] Makefile: suppress command echoing in silent mode (make -s)
Date: Fri, 11 Sep 2015 09:38:09 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0


On 09/11/2015 09:15 AM, Michael Tokarev wrote:
> 02.09.2015 12:14, Jerome Forissier wrote:
>> Signed-off-by: Jerome Forissier <address@hidden>
> 
> 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]