mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-30 10:38:55 +00:00
ff10687a6c
Previously, ports that were needed for a scenario and that were not prepared or outdated, triggered one assertion each during the second build stage. The commit slots a mechanism in ahead that gathers all these ports during the first build stage and reports them in form of a list before the second build stage is entered. This list can be used directly as argument for tool/ports/prepare_port to prepare respectively update the ports. If, however, this mechanism is not available, for example because a target is build without the first build stage, the old assertion still prevents the target from running into troubles with a missing port. Fixes #1872
54 lines
1.5 KiB
Makefile
54 lines
1.5 KiB
Makefile
#
|
|
# Specifics for the OKL4 kernel API
|
|
#
|
|
|
|
#
|
|
# Read default and builddir-specific config files
|
|
#
|
|
-include $(call select_from_repositories,etc/okl4.conf)
|
|
-include $(BUILD_BASE_DIR)/etc/okl4.conf
|
|
|
|
#
|
|
# If no OKL4 source directory is set, we use the standard contrib directory.
|
|
# We do this with ifeq and := as ?= would be done lazy. Forcing the
|
|
# evaluation of $(call select_from_ports,okl4) ensures that the kernel
|
|
# port, if missing, is added to the missing-ports list of the first build
|
|
# stage.
|
|
#
|
|
ifeq ($(OKL4_DIR),)
|
|
OKL4_DIR := $(call select_from_ports,okl4)/src/kernel/okl4
|
|
endif
|
|
|
|
#
|
|
# Make sure that symlink modification times are handled correctly.
|
|
# Otherwise, the creation of symlinks that depend on their own directory
|
|
# behaves like a phony rule. This is because the directory mtime is
|
|
# determined by taking the mtimes of containing symlinks into account.
|
|
# Hence, all symlinks (except for the youngest) depend on a directory
|
|
# with a newer mtime. The make flag -L fixes the problem. Alternatively,
|
|
# we could use 'cp' instead of 'ln'.
|
|
#
|
|
MAKEFLAGS += -L
|
|
|
|
#
|
|
# OKL4-specific Genode headers
|
|
#
|
|
INC_DIR += $(BUILD_BASE_DIR)/include
|
|
|
|
#
|
|
# Define maximum number of threads, needed by the OKL4 kernel headers
|
|
#
|
|
CC_OPT += -DCONFIG_MAX_THREAD_BITS=10
|
|
|
|
#
|
|
# Clean rules for removing the side effects of building the platform
|
|
# library
|
|
#
|
|
clean_includes:
|
|
$(VERBOSE)rm -rf $(BUILD_BASE_DIR)/include
|
|
|
|
clean_tool_elfweaver:
|
|
$(VERBOSE)rm -rf $(BUILD_BASE_DIR)/tool/okl4/elfweaver
|
|
|
|
clean cleanall: clean_includes clean_tool_elfweaver
|