]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
xfsprogs: Make the compile output cleaner V3
authorDave Chinner <david@fromorbit.com>
Tue, 19 Jan 2010 22:05:49 +0000 (09:05 +1100)
committerDave Chinner <david@fromorbit.com>
Tue, 19 Jan 2010 22:05:49 +0000 (09:05 +1100)
We don't need to see every compiler command line for every file that
is compiled. This makes it hard to see warnings and errors during
compile. For progress notification, we really only need to see the
diretory/file being operated on.

Turn down the verbosity of output by suppressing various make output
and provide better overall visibility of which directory is being
operated on, what the operation is and what is being done to the
files by the build/clean process.

Sample output from a build:

....
Building libxlog
    [CC] xfs_log_recover.c
    [CC] util.c
    [LD] libxlog.la
Building libxcmd
    [CC] command.c
    [CC] input.c
    [CC] paths.c
    [CC] projects.c
    [CC] help.c
    [CC] quit.c
    [LD] libxcmd.la
....

Sample output from cleaning:

$ make clean
Cleaning include
Cleaning libxfs
Cleaning libxlog
Cleaning libxcmd
Cleaning libhandle
Cleaning libdisk
Cleaning copy
Cleaning db
....

If you want to see a noisy build (i.e. every command), use:

$ make V=1

and that will output all the commands that are now suppressed by
default.

Portions of this patch were contributed by Eric Sandeen.

Signed-off-by: Dave Chinner <david@fromorbit.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Makefile
doc/Makefile
include/Makefile
include/buildmacros
include/buildrules
mkfs/Makefile

index 2d394e470b57f6116b65a1a0d6ae50d7d5c86a61..83d1b0ad95ee40e262a2b75a1b963c03ea4e8921 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -2,6 +2,21 @@
 # Copyright (c) 2000-2006 Silicon Graphics, Inc.  All Rights Reserved.
 #
 
+ifeq ("$(origin V)", "command line")
+  BUILD_VERBOSE = $(V)
+endif
+ifndef BUILD_VERBOSE
+  BUILD_VERBOSE = 0
+endif
+
+ifeq ($(BUILD_VERBOSE),1)
+  Q =
+else
+  Q = @
+endif
+
+MAKEOPTS = --no-print-directory Q=$(Q)
+
 TOPDIR = .
 HAVE_BUILDDEFS = $(shell test -f $(TOPDIR)/include/builddefs && echo yes || echo no)
 
@@ -36,9 +51,9 @@ SUBDIRS = include $(LIB_SUBDIRS) $(TOOL_SUBDIRS)
 
 default: include/builddefs include/platform_defs.h
 ifeq ($(HAVE_BUILDDEFS), no)
-       $(MAKE) -C . $@
+       $(Q)$(MAKE) $(MAKEOPTS) -C . $@
 else
-       $(MAKE) $(SUBDIRS)
+       $(Q)$(MAKE) $(MAKEOPTS) $(SUBDIRS)
 endif
 
 # tool/lib dependencies
@@ -80,7 +95,7 @@ include/platform_defs.h: include/builddefs
 ## Recover from the removal of $@
        @if test -f $@; then :; else \
                rm -f include/builddefs; \
-               $(MAKE) $(AM_MAKEFLAGS) include/builddefs; \
+               $(MAKE) $(MAKEOPTS) $(AM_MAKEFLAGS) include/builddefs; \
        fi
 
 install: default $(addsuffix -install,$(SUBDIRS))
@@ -101,29 +116,29 @@ install-qa: install $(addsuffix -install-qa,$(SUBDIRS))
        $(MAKE) -C $* install-qa
 
 distclean: clean
-       rm -f $(LDIRT)
+       $(Q)rm -f $(LDIRT)
 
 realclean: distclean
-       rm -f $(CONFIGURE)
+       $(Q)rm -f $(CONFIGURE)
 
 #
 # All this gunk is to allow for a make dist on an unconfigured tree
 #
 dist: include/builddefs include/platform_defs.h default
 ifeq ($(HAVE_BUILDDEFS), no)
-       $(MAKE) -C . $@
+       $(Q)$(MAKE) $(MAKEOPTS) -C . $@
 else
-       $(MAKE) $(SRCTAR)
+       $(Q)$(MAKE) $(MAKEOPTS) $(SRCTAR)
 endif
 
 deb: include/builddefs include/platform_defs.h
 ifeq ($(HAVE_BUILDDEFS), no)
-       $(MAKE) -C . $@
+       $(Q)$(MAKE) $(MAKEOPTS) -C . $@
 else
-       $(MAKE) $(SRCDIR)
-       $(MAKE) -C po
-       $(MAKE) source-link
-       cd $(SRCDIR) && dpkg-buildpackage
+       $(Q)$(MAKE) $(MAKEOPTS) $(SRCDIR)
+       $(Q)$(MAKE) $(MAKEOPTS) -C po
+       $(Q)$(MAKE) $(MAKEOPTS) source-link
+       $(Q)cd $(SRCDIR) && dpkg-buildpackage
 endif
 
 $(SRCDIR) : $(_FORCE)
@@ -131,6 +146,6 @@ $(SRCDIR) : $(_FORCE)
        mkdir -p $@
 
 $(SRCTAR) : default $(SRCDIR)
-       $(MAKE) source-link
+       $(Q)$(MAKE) $(MAKEOPTS) source-link
        unset TAPE; $(TAR) -cf - $(SRCDIR) | $(ZIP) --best > $@ && \
        echo Wrote: $@
index 8f65b666abf41fed58a9cef8d58343984e426070..86ac2caef11edfd36ce3db854ca3ea2838848a11 100644 (file)
@@ -13,7 +13,8 @@ default: CHANGES.gz
 include $(BUILDRULES)
 
 CHANGES.gz:
-       $(ZIP) --best -c < CHANGES > $@
+       @echo "    [ZIP]    $@"
+       $(Q)$(ZIP) --best -c < CHANGES > $@
 
 install: default
        $(INSTALL) -m 755 -d $(PKG_DOC_DIR)
index d89480ed6eb6fe6ec981f3e27c2c44dfab1c7085..bc787db8f254433edb9c1040fc64e3c21b0acec9 100644 (file)
@@ -43,7 +43,8 @@ LDIRT = xfs disk
 default install: xfs disk
 
 xfs disk:
-       $(LN_S) . $@
+       @echo "    [LN]     $@"
+       $(Q)$(LN_S) . $@
 
 include $(BUILDRULES)
 
index 099570f8bc48e824138dae6df88e2a6489ab6b79..62babca2a0c5149ba10e93df775435c50d34bd2b 100644 (file)
@@ -13,7 +13,7 @@ LDFLAGS += $(LOADERFLAGS) $(LLDFLAGS)
 LTLDFLAGS += $(LOADERFLAGS)
 LDLIBS = $(LLDLIBS) $(PLDLIBS) $(MALLOCLIB)
 
-MAKEOPTS = --no-print-directory
+MAKEOPTS = --no-print-directory Q=$(Q)
 SRCFILES = Makefile $(HFILES) $(CFILES) $(LSRCFILES) $(LFILES) $(YFILES)
 SRCFILES += $(QAHFILES)
 
@@ -45,10 +45,10 @@ LIBNAME = $(basename $(LTLIBRARY))
 LTOBJECTS = $(OBJECTS:.o=.lo)
 LTVERSION = $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
 
-LTLINK = $(LIBTOOL) --tag=CC --mode=link $(CC)
-LTEXEC = $(LIBTOOL) --mode=execute
-LTINSTALL = $(LIBTOOL) --mode=install $(INSTALL)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CCF)
+LTLINK = $(LIBTOOL) --quiet --tag=CC --mode=link $(CC)
+LTEXEC = $(LIBTOOL) --quiet --mode=execute
+LTINSTALL = $(LIBTOOL) --quiet --mode=install $(INSTALL)
+LTCOMPILE = $(LIBTOOL) --quiet --tag=CC --mode=compile $(CCF)
 
 ifeq ($(ENABLE_SHARED),yes)
 LTLDFLAGS += -rpath $(PKG_ROOT_LIB_DIR)
index a06d480af9aeaecd3a06bb00983455824879fcc9..fdc60e6460c092c1f47b4881fae9a17e3c39bac9 100644 (file)
@@ -7,10 +7,11 @@ _BUILDRULES_INCLUDED_ = 1
 include $(TOPDIR)/include/builddefs
 
 clean clobber : $(addsuffix -clean,$(SUBDIRS))
-       rm -f $(DIRT)
-       rm -fr $(DIRDIRT)
+       @rm -f $(DIRT)
+       @rm -fr $(DIRDIRT)
 %-clean:
-       $(MAKE) -C $* clean
+       @echo "Cleaning $*"
+       $(Q)$(MAKE) $(MAKEOPTS) -C $* clean
 
 # Never blow away subdirs
 ifdef SUBDIRS
@@ -18,7 +19,8 @@ ifdef SUBDIRS
 .PHONY: $(SUBDIRS)
 
 $(SUBDIRS):
-       $(MAKE) -C $@
+       @echo "Building $@"
+       $(Q)$(MAKE) $(MAKEOPTS) -q -C $@ || $(MAKE) $(MAKEOPTS) -C $@
 endif
 
 source-link: 
@@ -38,20 +40,29 @@ source-link:
 
 ifdef LTCOMMAND
 $(LTCOMMAND) : $(SUBDIRS) $(OBJECTS) $(LTDEPENDENCIES)
-       $(LTLINK) -o $@ $(LDFLAGS) $(OBJECTS) $(LDLIBS)
+       @echo "    [LD]     $@"
+       $(Q)$(LTLINK) -o $@ $(LDFLAGS) $(OBJECTS) $(LDLIBS)
 endif
 
 ifdef LTLIBRARY
 $(LTLIBRARY) : $(SUBDIRS) $(LTOBJECTS)
-       $(LTLINK) $(LTLDFLAGS) -o $(LTLIBRARY) $(LTOBJECTS) $(LTLIBS)
+       @echo "    [LD]     $@"
+       $(Q)$(LTLINK) $(LTLDFLAGS) -o $(LTLIBRARY) $(LTOBJECTS) $(LTLIBS)
 
 %.lo: %.c
-       $(LTCOMPILE) -c $<
+       @echo "    [CC]     $@"
+       $(Q)$(LTCOMPILE) -c $<
+else
+%.o: %.c
+       @echo "    [CC]     $@"
+       $(Q)$(CC) $(CFLAGS) -c $<
+
 endif
 
 ifdef POTHEAD
 $(POTHEAD): $(XGETTEXTFILES)
-       $(XGETTEXT) --language=C --keyword=_ --keyword=N_ -o $@ $(XGETTEXTFILES)
+       @echo "    [GETTXT] $@"
+       $(Q)$(XGETTEXT) --language=C --keyword=_ --keyword=N_ -o $@ $(XGETTEXTFILES)
 
 # Update translations
 update-po: $(POTHEAD) $(wildcard $(TOPDIR)/po/*.po)
@@ -70,7 +81,8 @@ update-po: $(POTHEAD) $(wildcard $(TOPDIR)/po/*.po)
        done
 
 %.mo: %.po
-       $(MSGFMT) -c --statistics -o $@ $<
+       @echo "    [MSGFMT] $@"
+       $(Q)$(MSGFMT) -c --statistics -o $@ $<
 endif
 
 endif # _BUILDRULES_INCLUDED_
index 9fcadf2d16ede3dfb7ea41f29f386e0a024c98b1..a749262ee7444062b7f2516d722155ad6df1d033 100644 (file)
@@ -36,7 +36,8 @@ endif
 include $(BUILDRULES)
 
 $(FSTYP):
-       $(LTLINK) $@.c -o $@ $(CFLAGS) $(LDFLAGS) $(LIBDISK) $(PLDLIBS)
+       @echo "    [CC]     $@"
+       $(Q)$(LTLINK) $@.c -o $@ $(CFLAGS) $(LDFLAGS) $(LIBDISK) $(PLDLIBS)
 
 install: default
        $(INSTALL) -m 755 -d $(PKG_ROOT_SBIN_DIR)