genode/repos/base-pistachio/lib/mk/syscall-pistachio.mk
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

31 lines
948 B
Makefile

PISTACHIO_CONTRIB_DIR := $(call select_from_ports,pistachio)/src/kernel/pistachio
PISTACHIO_USER_SRC := $(PISTACHIO_CONTRIB_DIR)/user/lib/l4
LD_PREFIX := "-Wl,"
CC_CXX_WARN_STRICT_CONVERSION =
CC_WARN += -Wno-array-bounds -Wno-unused-but-set-variable \
-Wno-parentheses -Wno-format -Wno-builtin-declaration-mismatch \
-Wno-unused-function -Wno-pointer-compare
# do not confuse third-party sub-makes
unexport .SHELLFLAGS
user_build.tag:
LIBGCCFLAGS="$(CC_MARCH)" \
LDFLAGS="$(addprefix $(LD_PREFIX),$(LD_MARCH)) -nostdlib" \
CFLAGS="$(CC_MARCH) $(CC_WARN)" \
$(PISTACHIO_CONTRIB_DIR)/user/configure --build=ia32 --host i686 \
CC=$(CROSS_DEV_PREFIX)gcc
$(VERBOSE_MK) MAKEFLAGS= $(MAKE) -s $(VERBOSE_DIR)
@touch $@
SRC_CC := debug.cc ia32.cc
SRC_S := ia32-syscall-stubs.S
CC_OPT += -Iinclude
$(SRC_CC:.cc=.o) $(SRC_S:.S:.o): user_build.tag
vpath % $(PISTACHIO_USER_SRC)