mirror of
https://github.com/mmueller41/genode.git
synced 2026-01-21 12:32:56 +01:00
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.
This commit is contained in:
committed by
Norman Feske
parent
7da691b52a
commit
d182b20705
@@ -8,15 +8,13 @@ MAKEOVERRIDES := $(filter-out KERNEL=%,$(MAKEOVERRIDES))
|
||||
unexport KERNEL
|
||||
|
||||
$(FOC_BUILD_DIR):
|
||||
$(VERBOSE_MK) set -o pipefail; \
|
||||
$(MAKE) CROSS_COMPILE="$(CROSS_DEV_PREFIX)" \
|
||||
$(VERBOSE_MK) $(MAKE) CROSS_COMPILE="$(CROSS_DEV_PREFIX)" \
|
||||
$(VERBOSE_DIR) -C $(FOC_SRC) BUILDDIR=$@ \
|
||||
$(KERNEL_BUILD_OUTPUT_FILTER)
|
||||
$(VERBOSE)cp $(KERNEL_CONFIG) $@/globalconfig.out
|
||||
|
||||
$(FOC): $(FOC_BUILD_DIR)
|
||||
$(VERBOSE_MK) set -o pipefail; \
|
||||
$(MAKE) CROSS_COMPILE="$(CROSS_DEV_PREFIX)" \
|
||||
$(VERBOSE_MK) $(MAKE) CROSS_COMPILE="$(CROSS_DEV_PREFIX)" \
|
||||
CC="$(CC)" CXX="$(CXX)" \
|
||||
$(VERBOSE_DIR) -C $(FOC_BUILD_DIR) \
|
||||
$(KERNEL_BUILD_OUTPUT_FILTER)
|
||||
|
||||
@@ -39,6 +39,9 @@ PKG_TAGS = $(addsuffix .tag,$(addsuffix .$(BOARD),$(PKGS)))
|
||||
|
||||
BUILD_OUTPUT_FILTER = 2>&1 | sed "s~^~ [$*] ~"
|
||||
|
||||
# do not confuse third-party sub-makes
|
||||
unexport .SHELLFLAGS
|
||||
|
||||
#
|
||||
# Execute the rules in this file only at the second build stage when we know
|
||||
# about the complete build settings, e.g., 'CROSS_DEV_PREFIX'.
|
||||
@@ -55,8 +58,7 @@ endif
|
||||
.NOTPARALLEL: $(PKG_TAGS)
|
||||
|
||||
%.$(BOARD).tag:
|
||||
$(VERBOSE_MK) set -o pipefail; \
|
||||
$(MAKE) $(VERBOSE_DIR) O=$(L4_BUILD_DIR) -C $(L4_PKG_DIR)/$* \
|
||||
$(VERBOSE_MK) $(MAKE) $(VERBOSE_DIR) O=$(L4_BUILD_DIR) -C $(L4_PKG_DIR)/$* \
|
||||
"$(L4_BUILD_OPT)" WARNINGS=$(WARNINGS) $(BUILD_OUTPUT_FILTER)
|
||||
$(VERBOSE)mkdir -p $(dir $@) && touch $@
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ CC_OPT += -DL4SYS_USE_UTCB_WRAP=1 -Wno-unused-function
|
||||
# build system will stuble over predefined variables, i.e., 'LIB'
|
||||
#
|
||||
$(L4_BUILD_DIR)/.kconfig:
|
||||
$(VERBOSE_MK) set -o pipefail; \
|
||||
$(VERBOSE_MK) \
|
||||
MAKEFLAGS= $(MAKE) $(VERBOSE_DIR) -C $(L4_SRC_DIR)/l4 \
|
||||
B=$(L4_BUILD_DIR) DROPSCONF_DEFCONFIG="$(L4_CONFIG)" \
|
||||
VERBOSE="$(VERBOSE)" CROSS_COMPILE="$(CROSS_DEV_PREFIX)" \
|
||||
|
||||
Reference in New Issue
Block a user