genode/repos/base-foc/mk/spec/foc.mk
Stefan Kalkowski ed52d5a211 Introduce 'spec' subdirectories to outline aspects
Instead of holding SPEC-variable dependent files and directories inline
within the repository structure, move them into 'spec' subdirectories
at the corresponding levels, e.g.:

  repos/base/include/spec
  repos/base/mk/spec
  repos/base/lib/mk/spec
  repos/base/src/core/spec
  ...

Moreover, this commit removes the 'platform' directories. That term was
used in an overloaded sense. All SPEC-relative 'platform' directories are
now named 'spec'. Other files, like for instance those related to the
kernel/architecture specific startup library, where moved from 'platform'
directories to explicit, more meaningful places like e.g.: 'src/lib/startup'.

Fix #1673
2015-09-16 13:58:50 +02:00

47 lines
1003 B
Makefile

#
# Specifics for the Fiasco.OC kernel API
#
-include $(call select_from_repositories,etc/foc.conf)
-include $(BUILD_BASE_DIR)/etc/foc.conf
#
# L4/sys headers
#
L4_INC_DIR += $(BUILD_BASE_DIR)/include/
L4F_INC_DIR += $(BUILD_BASE_DIR)/include/l4f
#
# L4 build directory, if not defined by 'foc.conf', use directory local
# to the Genode build directory.
#
L4_BUILD_DIR ?= $(BUILD_BASE_DIR)/l4
#
# Build everything with -fPIC because the Fiasco.OC syscall bindings
# rely on 'ebx' (on x86) being handled with care. Without -fPIC enabled,
# the syscall bindings break.
#
CC_OPT += -fPIC
#
# Use 'regparm=0' call instead of an inline function, when accessing
# the utcb. This is needed to stay compatible with L4linux
#
CC_OPT += -DL4SYS_USE_UTCB_WRAP=1
all:
#
# Clean rules for removing the side effects of building the platform
# library
#
clean_includes:
$(VERBOSE)rm -rf $(BUILD_BASE_DIR)/include
clean_contrib:
$(VERBOSE)rm -rf $(BUILD_BASE_DIR)/l4
cleanall: clean_contrib clean_includes