From 87e474d1bbf1dc6f9502d86ac6b82a7e35f0d566 Mon Sep 17 00:00:00 2001 From: nbd Date: Thu, 26 Apr 2012 17:53:56 +0000 Subject: 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) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31484 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- include/verbose.mk | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) (limited to 'include/verbose.mk') diff --git a/include/verbose.mk b/include/verbose.mk index 9fe27ced5..e17b1264d 100644 --- a/include/verbose.mk +++ b/include/verbose.mk @@ -5,16 +5,23 @@ # See /LICENSE for more information. # -ifeq ($(NO_TRACE_MAKE),) -NO_TRACE_MAKE := $(MAKE) V=99 -export NO_TRACE_MAKE +ifndef OPENWRT_VERBOSE + OPENWRT_VERBOSE:= +endif +ifeq ("$(origin V)", "command line") + OPENWRT_VERBOSE:=$(V) endif -ifndef KBUILD_VERBOSE - KBUILD_VERBOSE:=0 +ifeq ($(OPENWRT_VERBOSE),1) + OPENWRT_VERBOSE:=w endif -ifeq ("$(origin V)", "command line") - KBUILD_VERBOSE:=$(V) +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) -- cgit v1.2.3