* [PATCH] xfsdump: Clean up build output
@ 2010-01-14 0:39 Dave Chinner
2010-01-17 12:00 ` Christoph Hellwig
0 siblings, 1 reply; 2+ messages in thread
From: Dave Chinner @ 2010-01-14 0:39 UTC (permalink / raw)
To: xfs
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
directory/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. Also fix the top level clean rule
so that we don't run configure scripts after a make clean, only
after a make distclean.
The old style verbose builds can still be run via "make V=1 ..."
Signed-off-by: Dave Chinner <david@fromorbit.com>
---
Makefile | 43 +++++++++++++++++++++++++++++--------------
doc/Makefile | 3 ++-
dump/Makefile | 6 ++++--
include/buildmacros | 10 +++++-----
include/buildrules | 30 +++++++++++++++++++++---------
invutil/Makefile | 6 ++++--
restore/Makefile | 6 ++++--
7 files changed, 69 insertions(+), 35 deletions(-)
diff --git a/Makefile b/Makefile
index 13c8834..a044512 100644
--- 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)
@@ -15,7 +30,7 @@ SRCTAR = $(PKG_NAME)-$(PKG_VERSION).tar.gz
CONFIGURE = aclocal.m4 configure config.guess config.sub install-sh ltmain.sh
LSRCFILES = configure.in release.sh README VERSION $(CONFIGURE)
-LDIRT = config.log .dep config.status config.cache confdefs.h conftest* \
+DISTDIRT = config.log .dep config.status config.cache confdefs.h conftest* \
built .census install.* install-dev.* *.gz autom4te.cache/* libtool \
include/builddefs include/config.h
@@ -31,9 +46,9 @@ SUBDIRS = include $(LIB_SUBDIRS) $(TOOL_SUBDIRS)
default: include/builddefs include/config.h
ifeq ($(HAVE_BUILDDEFS), no)
- $(MAKE) -C . $@
+ $(Q)$(MAKE) $(MAKEOPTS) -C . $@
else
- $(MAKE) $(SUBDIRS)
+ $(Q)$(MAKE) $(MAKEOPTS) $(SUBDIRS)
endif
# tool/lib dependencies
@@ -74,13 +89,13 @@ install: default $(addsuffix -install,$(SUBDIRS))
install-dev: default $(addsuffix -install-dev,$(SUBDIRS))
%-install:
- $(MAKE) -C $* install
+ $(Q)$(MAKE) -C $* install
%-install-dev:
- $(MAKE) -C $* install-dev
+ $(Q)$(MAKE) -C $* install-dev
distclean: clean
- rm -f $(LDIRT)
+ rm -f $(DISTDIRT)
realclean: distclean
rm -f $(CONFIGURE)
@@ -90,19 +105,19 @@ realclean: distclean
#
dist: include/builddefs include/config.h default
ifeq ($(HAVE_BUILDDEFS), no)
- $(MAKE) -C . $@
+ $(Q)$(MAKE) $(MAKEOPTS) -C . $@
else
- $(MAKE) $(SRCTAR)
+ $(Q)$(MAKE) $(MAKEOPTS) $(SRCTAR)
endif
deb: include/builddefs include/config.h
ifeq ($(HAVE_BUILDDEFS), no)
- $(MAKE) -C . $@
+ $(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)
@@ -110,6 +125,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: $@
diff --git a/doc/Makefile b/doc/Makefile
index 8567172..dac0401 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -17,7 +17,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)
diff --git a/dump/Makefile b/dump/Makefile
index a24fde3..a0c74dc 100644
--- a/dump/Makefile
+++ b/dump/Makefile
@@ -106,7 +106,9 @@ install: default
install-dev:
$(COMMINCL) $(COMMON):
- $(RM) $@; $(LN_S) ../common/$@ $@
+ @echo " [LN] $@"
+ $(Q)$(RM) $@; $(LN_S) ../common/$@ $@
$(INVINCL) $(INVCOMMON):
- $(RM) $@; $(LN_S) ../inventory/$@ $@
+ @echo " [LN] $@"
+ $(Q)$(RM) $@; $(LN_S) ../inventory/$@ $@
diff --git a/include/buildmacros b/include/buildmacros
index ea769fa..a7eebe6 100644
--- a/include/buildmacros
+++ b/include/buildmacros
@@ -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)
DEPDIRT = dep dep.bak
@@ -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)
diff --git a/include/buildrules b/include/buildrules
index 2e3d3bb..a9eb092 100644
--- a/include/buildrules
+++ b/include/buildrules
@@ -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) -q -C $* clean || $(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_
diff --git a/invutil/Makefile b/invutil/Makefile
index 5ea0719..9e361f1 100644
--- a/invutil/Makefile
+++ b/invutil/Makefile
@@ -71,7 +71,9 @@ install: default
install-dev:
$(COMMINCL) $(COMMON):
- $(RM) $@; $(LN_S) ../common/$@ $@
+ @echo " [LN] $@"
+ $(Q)$(RM) $@; $(LN_S) ../common/$@ $@
$(INVINCL) $(INVCOMMON):
- $(RM) $@; $(LN_S) ../inventory/$@ $@
+ @echo " [LN] $@"
+ $(Q)$(RM) $@; $(LN_S) ../inventory/$@ $@
diff --git a/restore/Makefile b/restore/Makefile
index 3890af5..a587632 100644
--- a/restore/Makefile
+++ b/restore/Makefile
@@ -118,7 +118,9 @@ install: default
install-dev:
$(COMMINCL) $(COMMON):
- $(RM) $@; $(LN_S) ../common/$@ $@
+ @echo " [LN] $@"
+ $(Q)$(RM) $@; $(LN_S) ../common/$@ $@
$(INVINCL) $(INVCOMMON):
- $(RM) $@; $(LN_S) ../inventory/$@ $@
+ @echo " [LN] $@"
+ $(Q)$(RM) $@; $(LN_S) ../inventory/$@ $@
--
1.6.5
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] xfsdump: Clean up build output
2010-01-14 0:39 [PATCH] xfsdump: Clean up build output Dave Chinner
@ 2010-01-17 12:00 ` Christoph Hellwig
0 siblings, 0 replies; 2+ messages in thread
From: Christoph Hellwig @ 2010-01-17 12:00 UTC (permalink / raw)
To: Dave Chinner; +Cc: xfs
On Thu, Jan 14, 2010 at 11:39:49AM +1100, Dave Chinner wrote:
> 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
> directory/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. Also fix the top level clean rule
> so that we don't run configure scripts after a make clean, only
> after a make distclean.
>
> The old style verbose builds can still be run via "make V=1 ..."
Looks good except that the make clean changes really should be separate
as in xfsprogs.
Reviewed-by: Christoph Hellwig <hch@lst.de>
For the both bits, although they should be separate.
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-01-17 11:59 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-14 0:39 [PATCH] xfsdump: Clean up build output Dave Chinner
2010-01-17 12:00 ` Christoph Hellwig
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox