mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-27 01:11:14 +00:00
aee3594ffc
Using `make -j9` only prints a subset of messages to follow the build process progressing. However this silently skips over errors which might be of interested. Using `make V=s` easily floods the terminal making it hard to find error messages between the lines. A compromise is the usage of `$(call ERROR_MESSAGE,...)` which prints a message in red. This function is silenced in the non-verbose mode, even if only used at a single place in `package/Makefile` where it notifies about a OPKG corner case. This commit moves the `ERROR_MESSAGE` definition outside of the `OPENWRT_VERBOSE` condition and print error messages in every mode. With this in place further error messages are possible. Signed-off-by: Paul Spooren <mail@aparcar.org>
64 lines
1.4 KiB
Makefile
64 lines
1.4 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# Copyright (C) 2006-2020 OpenWrt.org
|
|
|
|
ifndef OPENWRT_VERBOSE
|
|
OPENWRT_VERBOSE:=
|
|
endif
|
|
ifeq ("$(origin V)", "command line")
|
|
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=s$(OPENWRT_VERBOSE)
|
|
export NO_TRACE_MAKE
|
|
endif
|
|
|
|
ifeq ($(IS_TTY),1)
|
|
ifneq ($(strip $(NO_COLOR)),1)
|
|
_Y:=\\033[33m
|
|
_R:=\\033[31m
|
|
_N:=\\033[m
|
|
endif
|
|
endif
|
|
|
|
define ERROR_MESSAGE
|
|
printf "$(_R)%s$(_N)\n" "$(1)" >&8
|
|
endef
|
|
|
|
ifeq ($(findstring s,$(OPENWRT_VERBOSE)),)
|
|
define MESSAGE
|
|
printf "$(_Y)%s$(_N)\n" "$(1)" >&8
|
|
endef
|
|
|
|
ifeq ($(QUIET),1)
|
|
ifneq ($(CURDIR),$(TOPDIR))
|
|
_DIR:=$(patsubst $(TOPDIR)/%,%,${CURDIR})
|
|
else
|
|
_DIR:=
|
|
endif
|
|
_NULL:=$(if $(MAKECMDGOALS),$(shell \
|
|
$(call MESSAGE, make[$(MAKELEVEL)]$(if $(_DIR), -C $(_DIR)) $(MAKECMDGOALS)); \
|
|
))
|
|
SUBMAKE=$(MAKE)
|
|
else
|
|
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 -j1 V=s or V=sc for a higher verbosity level to see what's going on"; false; } } 8>&1 9>&2; cmd
|
|
endif
|
|
|
|
.SILENT: $(MAKECMDGOALS)
|
|
else
|
|
SUBMAKE=$(MAKE) -w
|
|
define MESSAGE
|
|
printf "%s\n" "$(1)"
|
|
endef
|
|
endif
|