forked from Ivasoft/openwrt
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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user