genode/tool/depot/mk/common.inc
Christian Helmuth d182b20705 build: ensure rules with pipes might fail
.SHELLFLAGS is extended by option pipefail to make pipes fail if any pipe
element fails. As .SHELLFLAGS is exported into sub-make instances it
must be unexported before calling third-party build systems recursively.
2022-03-21 13:43:13 +01:00

40 lines
702 B
PHP

#
# \brief Common environment
# \author Norman Feske
# \date 2014-05-27
#
SHELL := bash
VERBOSE ?= @
ECHO := echo -e
HASHSUM := sha1sum
MAKEFLAGS += --no-print-directory
BRIGHT_COL ?= \x1b[01;33m
DARK_COL ?= \x1b[00;33m
DEFAULT_COL ?= \x1b[0m
MSG_PREFIX_TXT := $(DARK_COL)$(TARGET) $(DEFAULT_COL)
MSG_PREFIX := $(ECHO) "$(MSG_PREFIX_TXT)"
define NEWLINE
endef
EMPTY :=
#
# Utility to read content from a file if it exists and the given file name
# is not empty.
#
file_content = $(if $(wildcard $1),$(shell cat $1),)
# Force stable sorting order
SORT := LC_ALL=C sort
# ensure pipes might fail but do not confuse sub-makes
.SHELLFLAGS := -o pipefail -c
unexport .SHELLFLAGS