build: rework verbosity level selection

V=99 and V=1 are now deprecated in favor of a new verbosity class system,
though the old flags are still supported.
You can set the V variable on the command line (or OPENWRT_VERBOSE in the
environment) to one or more of the following characters:

- s: stdout+stderr (equal to the old V=99)
- c: commands (for build systems that suppress commands by default, e.g. kbuild)
- w: warnings/errors only (equal to the old V=1)

SVN-Revision: 31484
This commit is contained in:
Felix Fietkau 2012-04-26 17:53:56 +00:00
parent d7b7b99d6e
commit 34ffb526a2
4 changed files with 22 additions and 22 deletions

View file

@ -9,7 +9,8 @@ KERNEL_MAKEOPTS := -C $(LINUX_DIR) \
CROSS_COMPILE="$(KERNEL_CROSS)" \
ARCH="$(LINUX_KARCH)" \
KBUILD_HAVE_NLS=no \
CONFIG_SHELL="$(BASH)"
CONFIG_SHELL="$(BASH)" \
$(if $(findstring c,$(OPENWRT_VERBOSE)),V=1)
ifdef CONFIG_STRIP_KERNEL_EXPORTS
KERNEL_MAKEOPTS += \
@ -22,10 +23,6 @@ ifneq (,$(KERNEL_CC))
KERNEL_MAKEOPTS += CC="$(KERNEL_CC)"
endif
ifeq ($(KBUILD_VERBOSE),99)
KERNEL_MAKEOPTS += V=1
endif
export HOST_EXTRACFLAGS=-I$(STAGING_DIR_HOST)/include
# defined in quilt.mk

View file

@ -5,16 +5,23 @@
# See /LICENSE for more information.
#
ifeq ($(NO_TRACE_MAKE),)
NO_TRACE_MAKE := $(MAKE) V=99
export NO_TRACE_MAKE
endif
ifndef KBUILD_VERBOSE
KBUILD_VERBOSE:=0
ifndef OPENWRT_VERBOSE
OPENWRT_VERBOSE:=
endif
ifeq ("$(origin V)", "command line")
KBUILD_VERBOSE:=$(V)
OPENWRT_VERBOSE:=$(V)
endif
ifeq ($(OPENWRT_VERBOSE),1)
OPENWRT_VERBOSE:=w
endif
ifeq ($(OPENWRT_VERBOSE),99)
OPENWRT_VERBOSE:=s
endif
ifeq ($(NO_TRACE_MAKE),)
NO_TRACE_MAKE := $(MAKE) V=$(subst w,s,$(OPENWRT_VERBOSE))
export NO_TRACE_MAKE
endif
ifeq ($(IS_TTY),1)
@ -24,7 +31,7 @@ ifeq ($(IS_TTY),1)
endif
endif
ifneq ($(KBUILD_VERBOSE),99)
ifeq ($(findstring s,$(OPENWRT_VERBOSE)),)
define MESSAGE
printf "$(_Y)%s$(_N)\n" "$(1)" >&8
endef
@ -40,13 +47,9 @@ ifneq ($(KBUILD_VERBOSE),99)
))
SUBMAKE=$(MAKE)
else
ifeq ($(KBUILD_VERBOSE),0)
SILENT:=>/dev/null 2>&1
else
SILENT:=
endif
SILENT:=>/dev/null $(if $(findstring w,$(OPENWRT_VERBOSE)),,2>&1)
export QUIET:=1
SUBMAKE=cmd() { $(SILENT) $(MAKE) -s $$* < /dev/null || { echo "make $$*: build failed. Please re-run make with V=99 to see what's going on"; false; } } 8>&1 9>&2; cmd
SUBMAKE=cmd() { $(SILENT) $(MAKE) -s $$* < /dev/null || { echo "make $$*: build failed. Please re-run make with V=s to see what's going on"; false; } } 8>&1 9>&2; cmd
endif
.SILENT: $(MAKECMDGOALS)

View file

@ -540,7 +540,7 @@ sub update {
my $perform_update=1;
$ENV{SCAN_COOKIE} = $$;
$ENV{KBUILD_VERBOSE} = 99;
$ENV{OPENWRT_VERBOSE} = 's';
getopts('ahi', \%opts);

View file

@ -10,7 +10,7 @@ TOPDIR:=${CURDIR}
LC_ALL:=C
LANG:=C
export TOPDIR LC_ALL LANG
export KBUILD_VERBOSE=99
export OPENWRT_VERBOSE=s
all: help
include $(TOPDIR)/include/host.mk