ar71xx: add kernel support for the EnGenius EAP300 v2 board
[openwrt/openwrt.git] / include / verbose.mk
index 8b82cde7beb153ea2bb7bae5bb088da32d21e43e..d34f55fc4867b8a5eb86f6b5daf2bf3f462264b0 100644 (file)
@@ -4,30 +4,43 @@
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 #
-# $Id:$
 
-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=s$(OPENWRT_VERBOSE)
+export NO_TRACE_MAKE
 endif
 
 ifeq ($(IS_TTY),1)
-  _Y:=\\033[33m
-  _N:=\\033[m
+  ifneq ($(strip $(NO_COLOR)),1)
+    _Y:=\\033[33m
+    _R:=\\033[31m
+    _N:=\\033[m
+  endif
 endif
 
-ifneq ($(KBUILD_VERBOSE),99)
+ifeq ($(findstring s,$(OPENWRT_VERBOSE)),)
   define MESSAGE
        printf "$(_Y)%s$(_N)\n" "$(1)" >&8
   endef
 
+  define ERROR_MESSAGE
+       printf "$(_R)%s$(_N)\n" "$(1)" >&8
+  endef
+
   ifeq ($(QUIET),1)
     ifneq ($(CURDIR),$(TOPDIR))
       _DIR:=$(patsubst $(TOPDIR)/%,%,${CURDIR})
@@ -39,19 +52,16 @@ 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 $$* || { 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)
 else
-  SUBMAKE=$(MAKE)
+  SUBMAKE=$(MAKE) -w
   define MESSAGE
     printf "%s\n" "$(1)"
   endef
+  ERROR_MESSAGE=$(MESSAGE)
 endif