qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] Re: [PATCH] build system: Further improve quiet mode


From: Jan Kiszka
Subject: [Qemu-devel] Re: [PATCH] build system: Further improve quiet mode
Date: Sun, 25 Jan 2009 17:30:16 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666

Laurent Desnogues wrote:
> On Sun, Jan 25, 2009 at 4:53 PM, Jan Kiszka <address@hidden> wrote:
>> Stuart Brady wrote:
>>> On Wed, Jan 21, 2009 at 06:13:09PM +0000, Anthony Liguori wrote:
>>>> Spew out less noise when compiling.  This helps review make output for
>>>> information such as compilation warnings, rather than extra long compiler
>>>> invocations.
>>>>
>>>> The full output can be generated by supplying a 'V=1' parameter to make.
>>> Excellent!
>>>
>>> However, I would find it helpful to see the name of the target that is
>>> being built.  Something like the following? ...
>> Good idea! I rebased your work over recent changes and adopted it a bit,
>> see below. Hope you still like it. :)
> 
> While you're at it, would it be possible to dump C flags once at the beginning
> to see how things get compiled? :-)
> 

Something like this? I also included LDFLAGS - before someone asks...

------>

Derived from Stuart Brady's patch: Show the target directory as prefix
to the current module when building in quiet mode. This helps to gain
overview of the current build progress, specifically when running
parallelized builds.

Furthermore, suppress make command echoing when entering subdirs and
replace $(subst subdir-,,$@) with $* in the related rule. And on request
by Laurent Desnogues, dump the used CFLAGS and LDFLAGS once on startup
of the quiet mode.

Signed-off-by: Jan Kiszka <address@hidden>
---

 Makefile  |    7 +++++--
 rules.mak |   12 ++++++------
 2 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/Makefile b/Makefile
index a09d6e0..6a7db93 100644
--- a/Makefile
+++ b/Makefile
@@ -34,12 +34,15 @@ ifdef CONFIG_WIN32
 LIBS+=-lwinmm -lws2_32 -liphlpapi
 endif
 
-all: $(TOOLS) $(DOCS) recurse-all
+all:
+       $(call quiet-command,$(MAKE) build-all,"Building with\n  CFLAGS  = 
$(CFLAGS)\n  LDFLAGS = $(LDFLAGS)")
+
+build-all: $(TOOLS) $(DOCS) recurse-all
 
 SUBDIR_RULES=$(patsubst %,subdir-%, $(TARGET_DIRS))
 
 subdir-%:
-       $(MAKE) -C $(subst subdir-,,$@) V="$(V)" all
+       $(call quiet-command,$(MAKE) -C $* V="$(V)" TARGET_DIR="$*/" all,)
 
 $(filter %-softmmu,$(SUBDIR_RULES)): libqemu_common.a
 $(filter %-user,$(SUBDIR_RULES)): libqemu_user.a
diff --git a/rules.mak b/rules.mak
index c4bb65b..10e21ec 100644
--- a/rules.mak
+++ b/rules.mak
@@ -1,19 +1,19 @@
 
 %.o: %.c
-       $(call quiet-command,$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<,"  CC    
$@")
+       $(call quiet-command,$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<,"  CC    
$(TARGET_DIR)$@")
 
 %.o: %.S
-       $(call quiet-command,$(CC) $(CPPFLAGS) -c -o $@ $<,"  AS    $@")
+       $(call quiet-command,$(CC) $(CPPFLAGS) -c -o $@ $<,"  AS    
$(TARGET_DIR)$@")
 
 %.o: %.m
-       $(call quiet-command,$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<,"  OBJC  
$@")
+       $(call quiet-command,$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<,"  OBJC  
$(TARGET_DIR)$@")
 
-LINK = $(call quiet-command,$(CC) $(LDFLAGS) -o $@ $^ $(LIBS),"  LINK  $@")
+LINK = $(call quiet-command,$(CC) $(LDFLAGS) -o $@ $^ $(LIBS),"  LINK  
$(TARGET_DIR)$@")
 
 %$(EXESUF): %.o
        $(LINK)
 
 %.a:
-       $(call quiet-command,rm -f $@ && $(AR) rcs $@ $^,"  AR    $@")
+       $(call quiet-command,rm -f $@ && $(AR) rcs $@ $^,"  AR    
$(TARGET_DIR)$@")
 
-quiet-command = $(if $(V),$1,@echo $2 && $1)
+quiet-command = $(if $(V),$1,$(if $(2),@echo -e $2 && $1, @$1))




reply via email to

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