xfstests: Clean up build output

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.

This patch only addresses the top level makefile and build rules; it
does not clean up the subdirectories - these will be addressed by a
followup patch. It also does not touch the dmapi section of the
xfstests build system.

The old style verbose builds can still be run via "make V=1 ..."

Signed-off-by: Dave Chinner <david@fromorbit.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
Dave Chinner
2010-01-20 10:26:01 +11:00
parent 8213960867
commit 50f99d08ef
3 changed files with 45 additions and 17 deletions
+23 -5
View File
@@ -2,6 +2,21 @@
# Copyright (c) 2000-2008 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)
@@ -11,11 +26,14 @@ endif
TESTS = $(shell sed -n -e '/^[0-9][0-9][0-9]*/s/ .*//p' group)
CONFIGURE = configure include/builddefs include/config.h
DMAPI_MAKEFILE = dmapi/Makefile
LSRCFILES = configure configure.in aclocal.m4 README VERSION
LDIRT = config.log .dep config.status config.cache confdefs.h conftest* \
check.log check.time
ifeq ($(HAVE_DMAPI), true)
DMAPI_MAKEFILE = dmapi/Makefile
endif
LIB_SUBDIRS = include lib
TOOL_SUBDIRS = ltp src m4
@@ -23,13 +41,13 @@ SUBDIRS = $(LIB_SUBDIRS) $(TOOL_SUBDIRS)
default: include/builddefs include/config.h $(DMAPI_MAKEFILE) new remake check $(TESTS)
ifeq ($(HAVE_BUILDDEFS), no)
$(MAKE) $@
$(Q)$(MAKE) $(MAKEOPTS) $@
else
$(MAKE) $(SUBDIRS)
$(Q)$(MAKE) $(MAKEOPTS) $(SUBDIRS)
# automake doesn't always support "default" target
# so do dmapi make explicitly with "all"
ifeq ($(HAVE_DMAPI), true)
$(MAKE) -C $(TOPDIR)/dmapi all
$(Q)$(MAKE) $(MAKEOPTS) -C $(TOPDIR)/dmapi all
endif
endif
@@ -76,7 +94,7 @@ install: default $(addsuffix -install,$(SUBDIRS))
install-dev install-lib:
%-install:
$(MAKE) -C $* install
$(MAKE) $(MAKEOPTS) -C $* install
realclean distclean: clean
rm -f $(LDIRT) $(CONFIGURE)
+5 -5
View File
@@ -12,7 +12,7 @@ BUILDRULES = $(TOPDIR)/include/buildrules
LDFLAGS += $(LOADERFLAGS) $(LLDFLAGS)
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
@@ -41,10 +41,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_LIB_DIR)
+17 -7
View File
@@ -7,11 +7,12 @@ _BUILDRULES_INCLUDED_ = 1
include $(TOPDIR)/include/builddefs
clean clobber : $(addsuffix -clean,$(SUBDIRS))
rm -f $(DIRT)
@rm -fr .libs
$(Q)rm -f $(DIRT)
$(Q)rm -fr .libs
%-clean:
$(MAKE) -C $* clean
@echo "Cleaning $*"
$(Q)$(MAKE) $(MAKEOPTS) -q -C $* clean || $(MAKE) $(MAKEOPTS) -C $* clean
# Never blow away subdirs
ifdef SUBDIRS
@@ -19,7 +20,8 @@ ifdef SUBDIRS
.PHONY: $(SUBDIRS)
$(SUBDIRS):
$(MAKE) -C $@
@echo "Building $@"
$(Q)$(MAKE) $(MAKEOPTS) -q -C $@ || $(MAKE) $(MAKEOPTS) -C $@
endif
#
@@ -28,15 +30,23 @@ endif
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