Disambiguate kernel-specific file names

This patch removes possible ambiguities with respect to the naming of
kernel-dependent binaries and libraries. It also removes the use of
kernel-specific global side effects from the build system. The reach of
kernel-specific peculiarities has thereby become limited to the actual
users of the respective 'syscall-<kernel>' libraries.

Kernel-specific build artifacts are no longer generated at magic places
within the build directory (like okl4's includes, or the L4 build
directories of L4/Fiasco and Fiasco.OC, or the build directories of
various kernels). Instead, such artifacts have been largely moved to the
libcache. E.g., the former '<build-dir>/l4/' build directory for the L4
build system resides at '<build-dir>/var/libcache/syscall-foc/build/'.
This way, the location is unique to the kernel. Note that various tools
are still generated somewhat arbitrarily under '<build-dir>/tool/' as
there is no proper formalism for building host tools yet.

As the result of this work, it has become possible to use a joint Genode
build directory that is usable with all kernels of a given hardware
platform. E.g., on x86_32, one can now seamlessly switch between linux,
nova, sel4, okl4, fiasco, foc, and pistachio without rebuilding any
components except for core, the kernel, the dynamic linker, and the timer
driver. At the current stage, such a build directory must still be
created manually. A change of the 'create_builddir' tool will follow to
make this feature easily available.

This patch also simplifies various 'run/boot_dir' plugins by removing
the option for an externally hosted kernel. This option remained unused
for many years now.

Issue #2190
This commit is contained in:
Norman Feske 2016-12-10 01:30:38 +01:00
parent 3865ee7ccc
commit c450ddcb3d
258 changed files with 902 additions and 1489 deletions

View File

@ -59,12 +59,12 @@ with 'fiasco_x86' as argument:
From within the new <build-dir>, the kernel can be compiled via
! make kernel
! make kernel/fiasco
When using Genode's run mechanism, there is no need to explicitly
build the kernel. The run environment (see 'base-fiasco/run/env')
takes care of it. So you can simple execute run scripts from within
the build directory, for example:
When using Genode's run mechanism, there is no need to explicitly build the
kernel. The run environment (see 'tool/run/boot_dir/fiasco') takes care of it.
So you can simple execute run scripts from within the build directory, for
example:
! make run/demo
@ -115,22 +115,5 @@ interest for using Genode:
is used to create a single binary image containing all boot-time
OS components.
To build all components under '3rd/fiasco' after extracting the
archive, issue the following commands:
! mkdir <build-dir>
! make -C 3rd/fiasco BUILD_DIR=<build-dir>/3rd build
The specified '<build-dir>' must be the absolute path to the
directory, which will contain the build directories for the third party
software and the Genode build directory. After the build, your compound
build directory contains the following subdirectories:
:'fiasco_x86':
All generated files and the final binary of Fiasco reside here.
:'l4env':
L4 environment binaries and header files.
Those components are implicitly built by the Genode build system when
issuing 'make kernel/fiasco'.

View File

@ -1,11 +0,0 @@
#
# Fiasco-specific default configuration options
#
#
# Directory, where to search for L4 headers
#
# When using this file as template for a customized
# '<builddir>/etc/fiasco.conf'.
#
#L4_DIR = $(HOME)/src/l4build.x86

View File

@ -1,15 +1 @@
#
# Description of build platform
#
#
# To build the Fiasco-specific Genode binaries,
# use one of the the following config options.
#
SPECS = genode fiasco_x86
#
# To build for the ARM integrator platform,
# use the following SPECS value.
#
#SPECS = genode platform_integrator fiasco_arm
SPECS += genode fiasco x86_32 vesa pci ps2 framebuffer

View File

@ -0,0 +1,6 @@
L4_SRC_DIR := $(call select_from_ports,fiasco)/src/kernel/fiasco/fiasco/snapshot
INC_DIR += $(LIB_CACHE_DIR)/syscall-fiasco/include/x86/l4v2 \
$(LIB_CACHE_DIR)/syscall-fiasco/include/x86 \
$(LIB_CACHE_DIR)/syscall-fiasco/include \
$(LIB_CACHE_DIR)/syscall-fiasco/include/l4v2

View File

@ -6,7 +6,7 @@
include $(BASE_DIR)/lib/mk/base-common.inc
LIBS += startup
LIBS += startup-fiasco syscall-fiasco
SRC_CC += capability.cc capability_raw.cc
SRC_CC += signal_submit.cc

View File

@ -1,5 +1,7 @@
include $(BASE_DIR)/lib/mk/base.inc
LIBS += syscall-fiasco
SRC_CC += thread_start.cc
SRC_CC += cache.cc
SRC_CC += capability_space.cc

View File

@ -42,7 +42,7 @@ INC_DIR += $(REP_DIR)/src/core/include \
$(REP_DIR)/src/include \
$(BASE_DIR)/src/include
LIBS += base-fiasco-common
LIBS += base-fiasco-common syscall-fiasco
include $(GEN_CORE_DIR)/version.inc

View File

@ -0,0 +1,53 @@
L4_SRC_DIR = $(call select_from_ports,fiasco)/src/kernel/fiasco/fiasco/snapshot
FIASCO_BUILD_DIR = $(shell pwd)/build
FIASCO = $(FIASCO_BUILD_DIR)/fiasco
FIASCO_SRC = $(L4_SRC_DIR)/kernel/fiasco
KERNEL_BUILD_OUTPUT_FILTER = 2>&1 | sed "s/^/ [fiasco] /"
$(FIASCO_BUILD_DIR):
$(VERBOSE_MK) MAKEFLAGS= $(MAKE) SYSTEM_TARGET="$(CROSS_DEV_PREFIX)" \
$(VERBOSE_DIR) -C $(FIASCO_SRC) BUILDDIR=$@ \
$(KERNEL_BUILD_OUTPUT_FILTER)
$(VERBOSE)cp $(KERNEL_CONFIG) $@/globalconfig.out
$(VERBOSE_MK) MAKEFLAGS= $(MAKE) SYSTEM_TARGET="$(CROSS_DEV_PREFIX)" \
$(VERBOSE_DIR) -C $@ oldconfig \
$(KERNEL_BUILD_OUTPUT_FILTER)
$(VERBOSE)cp $(KERNEL_CONFIG) $@/globalconfig.out
$(FIASCO): $(FIASCO_BUILD_DIR)
$(VERBOSE_MK) MAKEFLAGS= $(MAKE) SYSTEM_TARGET="$(CROSS_DEV_PREFIX)" \
$(VERBOSE_DIR) -C $(FIASCO_BUILD_DIR) \
$(KERNEL_BUILD_OUTPUT_FILTER)
#
# Sigma0 and bootstrap are provided as L4 packages
#
# We build them within the L4 build directory created by the 'syscall-fiasco'
# library.
#
LIBS += syscall-fiasco
PKGS = l4sys/lib \
uclibc/lib/uclibc \
uclibc/lib/include \
crtx \
l4util/lib \
cxx \
sigma0/server \
bootstrap
L4_BUILD_DIR := $(LIB_CACHE_DIR)/syscall-fiasco
include $(REP_DIR)/lib/mk/l4_pkg.inc
#
# 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'.
#
ifeq ($(called_from_lib_mk),yes)
all: $(FIASCO)
endif

View File

@ -8,8 +8,6 @@
# the target
#
LIBS += platform
ifeq ($(filter-out $(SPECS),x86_32),)
L4_BUILD_ARCH := x86
endif
@ -19,19 +17,29 @@ ifeq ($(filter-out $(SPECS),arm),)
endif
ifeq ($(L4_BUILD_ARCH),)
all: l4_build_arch_undefined
$(VERBOSE)$(ECHO) "Error: L4_BUILD_ARCH undefined, architecture not supported"
$(VERBOSE)false
$(error L4_BUILD_ARCH undefined, architecture not supported)
endif
L4_PKG_DIR = $(L4_SRC_DIR)/l4/pkg
PKG_TAGS = $(addsuffix .tag,$(PKGS))
ifndef L4_BUILD_DIR
$(error L4_BUILD_DIR undefined)
endif
L4_PKG_DIR = $(L4_SRC_DIR)/l4/pkg
PKG_TAGS = $(addsuffix .tag,$(PKGS))
BUILD_OUTPUT_FILTER = 2>&1 | sed "s~^~ [$*] ~"
ifeq ($(VERBOSE),)
L4_VERBOSE = V=1
endif
$(TARGET): $(PKG_TAGS)
#
# 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'.
#
ifeq ($(called_from_lib_mk),yes)
all: $(PKG_TAGS)
endif
#
# We preserve the order of processing 'l4/pkg/' directories because of
@ -52,17 +60,7 @@ $(TARGET): $(PKG_TAGS)
-C $(L4_PKG_DIR)/$* \
CC="$(CROSS_DEV_PREFIX)gcc" \
CXX="$(CROSS_DEV_PREFIX)g++" \
LD="$(CROSS_DEV_PREFIX)ld"
LD="$(CROSS_DEV_PREFIX)ld" \
$(BUILD_OUTPUT_FILTER)
$(VERBOSE)mkdir -p $(dir $@) && touch $@
clean cleanall: clean_tags
# if (pseudo) target is named after a directory, remove the whole subtree
clean_prg_objects: clean_dir_named_as_target
clean_dir_named_as_target:
$(VERBOSE)(test -d $(TARGET) && rm -rf $(TARGET)) || true
clean_tags:
$(VERBOSE)rm -f $(PKG_TAGS)

View File

@ -1,19 +0,0 @@
#
# Build L4env base libraries, needed by sigma0 and bootstrap
# ignore stage one, visit the L4 build system at second build stage
ifeq ($(called_from_lib_mk),yes)
# packages in 'l4/pkg/'
PKGS = l4sys/lib \
uclibc/lib/uclibc \
uclibc/lib/include \
crtx \
l4util/lib \
cxx
include $(REP_DIR)/mk/l4_pkg.mk
all: $(PKG_TAGS)
endif

View File

@ -1,56 +0,0 @@
#
# Create prerequisites for building Genode for Fiasco
#
# Prior building Genode programs for Fiasco, the kernel bindings must be
# generated. This is done by building a minimalistic subset of the original
# userland that comes with Fiasco.
#
#
# Execute the rules in this file only at the second build stage when we know
# about the complete build settings, e.g., the 'CROSS_DEV_PREFIX'.
#
ifeq ($(called_from_lib_mk),yes)
#
# Sanity checks
#
ifeq ($(L4_BUILD_DIR),$(BUILD_BASE_DIR)/l4)
all: $(L4_SRC_DIR)
$(L4_SRC_DIR):
$(VERBOSE)$(ECHO) "--> Please, execute './tool/ports/prepare_port fiasco' in $(GENODE_DIR)"
$(VERBOSE)$(ECHO) "--> before compiling Genode apps for Fiasco."
$(VERBOSE)exit 1
endif
#
# Create L4 build directory
#
$(BUILD_BASE_DIR)/l4/.Makeconf.bid.old:
$(VERBOSE)mkdir -p $(dir $@)
$(VERBOSE)cp $(L4_CONFIG) $(@:.old=)
$(VERBOSE_MK) MAKEFLAGS= make $(VERBOSE_DIR) -C $(L4_SRC_DIR)/l4 \
O=$(BUILD_BASE_DIR)/l4 SYSTEM_TARGET="$(CROSS_DEV_PREFIX)" oldconfig
$(BUILD_BASE_DIR)/l4/pkg/uclibc/lib/uclibc:
$(VERBOSE)mkdir -p $(BUILD_BASE_DIR)/l4/pkg/uclibc/lib/uclibc
$(VERBOSE)tar cf - --exclude .svn -C $(L4_SRC_DIR)/../uclibc ARCH-all ARCH-x86 \
| tar xf - -C $(BUILD_BASE_DIR)/l4/pkg/uclibc/lib/uclibc
PKGS = input/include \
drivers/uart/include \
l4sys/include \
l4util/include \
libc_support/include \
libsigma0/include
include $(REP_DIR)/mk/l4_pkg.mk
all: $(PKG_TAGS)
$(PKG_TAGS): $(BUILD_BASE_DIR)/l4/.Makeconf.bid.old
$(PKG_TAGS): $(BUILD_BASE_DIR)/l4/pkg/uclibc/lib/uclibc
endif

View File

@ -1,4 +1,4 @@
include $(REP_DIR)/lib/mk/core.inc
include $(REP_DIR)/lib/mk/core-fiasco.inc
LIBS += base-fiasco-common
SRC_CC += platform_x86.cc

View File

@ -0,0 +1,3 @@
KERNEL_CONFIG = $(REP_DIR)/config/kernel-config.x86
include $(REP_DIR)/lib/mk/kernel-fiasco.inc

View File

@ -0,0 +1,3 @@
include $(BASE_DIR)/lib/mk/spec/x86_32/startup.inc
LIBS += syscall-fiasco

View File

@ -3,4 +3,4 @@
#
L4_CONFIG = $(REP_DIR)/config/l4env-config.x86
include $(REP_DIR)/lib/mk/platform.inc
include $(REP_DIR)/lib/mk/syscall-fiasco.inc

View File

@ -0,0 +1,38 @@
#
# Create prerequisites for building Genode for Fiasco
#
# Prior building Genode programs for Fiasco, the kernel bindings must be
# generated. This is done by building a minimalistic subset of the original
# userland that comes with Fiasco.
#
L4_SRC_DIR = $(call select_from_ports,fiasco)/src/kernel/fiasco/fiasco/snapshot
L4_BUILD_DIR := $(shell pwd)
#
# Create L4 build directory
#
.Makeconf.bid.old:
$(VERBOSE)mkdir -p $(dir $@)
$(VERBOSE)cp $(L4_CONFIG) $(@:.old=)
$(VERBOSE_MK) MAKEFLAGS= make $(VERBOSE_DIR) -C $(L4_SRC_DIR)/l4 \
O=$(L4_BUILD_DIR) SYSTEM_TARGET="$(CROSS_DEV_PREFIX)" oldconfig \
2>&1 | sed "s/^/ [l4build] /"
$(VERBOSE)touch $@
pkg/uclibc/lib/uclibc:
$(VERBOSE)mkdir -p pkg/uclibc/lib/uclibc
$(VERBOSE)tar cf - --exclude .svn -C $(L4_SRC_DIR)/../uclibc ARCH-all ARCH-x86 \
| tar xf - -C pkg/uclibc/lib/uclibc
PKGS = input/include \
drivers/uart/include \
l4sys/include \
l4util/include \
libc_support/include \
libsigma0/include
include $(REP_DIR)/lib/mk/l4_pkg.inc
$(PKG_TAGS): .Makeconf.bid.old
$(PKG_TAGS): pkg/uclibc/lib/uclibc

View File

@ -1,25 +0,0 @@
#
# Specifics for the l4v2 kernel API
#
#
# Read default and builddir-specific config files
#
# In these config files, we find the definition of L4_DIR
#
-include $(call select_from_repositories,etc/fiasco.conf)
-include $(BUILD_BASE_DIR)/etc/fiasco.conf
L4_BUILD_DIR := $(BUILD_BASE_DIR)/l4
L4_SRC_DIR := $(call select_from_ports,fiasco)/src/kernel/fiasco/fiasco/snapshot
#
# L4/sys headers
#
L4_INC_DIR += $(L4_BUILD_DIR)/include \
$(L4_BUILD_DIR)/include/l4v2
clean_contrib:
$(VERBOSE)rm -rf $(BUILD_BASE_DIR)/l4
cleanall: clean_contrib

View File

@ -1,20 +0,0 @@
#
# Specifics for Fiasco L4v2 on x86
#
SPECS += x86_32 fiasco
SPECS += pci ps2 vesa framebuffer
#
# x86-specific L4v2/sys headers
#
L4_INC_DIR += $(L4_BUILD_DIR)/include/x86/l4v2 \
$(L4_BUILD_DIR)/include/x86
#
# Also include less-specific configuration last
#
include $(call select_from_repositories,mk/spec/x86_32.mk)
include $(call select_from_repositories,mk/spec/fiasco.mk)
INC_DIR += $(L4_INC_DIR)

View File

@ -1,5 +0,0 @@
TARGET = bootstrap
PKGS = bootstrap
LIBS = l4v2_support
include $(REP_DIR)/mk/l4_pkg.mk

View File

@ -0,0 +1,3 @@
LIBS = core-fiasco
include $(BASE_DIR)/src/core/target.inc

View File

@ -0,0 +1,18 @@
TARGET = kernel-fiasco
LIBS = kernel-fiasco
$(TARGET): sigma0 bootstrap kernel
L4_BUILD_DIR = $(LIB_CACHE_DIR)/syscall-fiasco
kernel:
$(VERBOSE)ln -sf $(LIB_CACHE_DIR)/kernel-fiasco/build/fiasco $@
sigma0:
$(VERBOSE)ln -sf $(L4_BUILD_DIR)/bin/x86_586/l4v2/sigma0
bootstrap:
$(VERBOSE)ln -sf $(L4_BUILD_DIR)/bin/x86_586/bootstrap
clean cleanall:
$(VERBOSE)rm -f kernel sigma0 bootstrap

View File

@ -1,4 +0,0 @@
REQUIRES = x86 32bit
KERNEL_CONFIG = $(REP_DIR)/config/kernel-config.x86
-include $(PRG_DIR)/../../target.inc

View File

@ -1,22 +0,0 @@
TARGET = fiasco
REQUIRES += fiasco
FIASCO_BUILD_DIR = $(BUILD_BASE_DIR)/kernel/$(TARGET)
FIASCO = $(FIASCO_BUILD_DIR)/fiasco
FIASCO_SRC = $(L4_SRC_DIR)/kernel/fiasco
$(TARGET): $(FIASCO)
$(FIASCO_BUILD_DIR):
$(VERBOSE_MK) MAKEFLAGS= $(MAKE) SYSTEM_TARGET="$(CROSS_DEV_PREFIX)" \
$(VERBOSE_DIR) -C $(FIASCO_SRC) BUILDDIR=$@
$(VERBOSE)cp $(KERNEL_CONFIG) $@/globalconfig.out
$(VERBOSE_MK) MAKEFLAGS= $(MAKE) SYSTEM_TARGET="$(CROSS_DEV_PREFIX)" \
$(VERBOSE_DIR) -C $@ oldconfig
$(FIASCO): $(FIASCO_BUILD_DIR)
$(VERBOSE_MK) MAKEFLAGS= $(MAKE) SYSTEM_TARGET="$(CROSS_DEV_PREFIX)" \
$(VERBOSE_DIR) -C $(FIASCO_BUILD_DIR)
$(VERBOSE)ln -sf $@ $(BUILD_BASE_DIR)/bin/$(TARGET)
clean cleanall:
$(VERBOSE)rm -rf $(FIASCO_BUILD_DIR)

View File

@ -1,5 +0,0 @@
TARGET = sigma0
PKGS = sigma0/server
LIBS = l4v2_support
include $(REP_DIR)/mk/l4_pkg.mk

View File

@ -111,26 +111,6 @@ to download the Genode project webpage via the 'wget' tool within the L4Linux
environment. If all wents fine the run-script completes successfully.
Integration of Fiasco.OC with Genode
####################################
If you don't want the Genode build system to build the Fiasco.OC kernel for
you, but you want to provide your own version, you have to state in the
'etc/foc.conf' file within your build directory, where to find it:
! L4_BUILD_DIR = <l4re-build-dir>
! KERNEL = <fiasco.oc-kernel-binary>
The first variable states where to find the kernel bindings (the L4RE build
directory), the second one states where your kernel binary can be found.
After adding these variable to the file, you have to do a full cleanup
in your build directory to ensure, that the right bindings are used:
! make cleanall
From now on, run-scripts will use your provided kernel.
Further Information
###################

View File

@ -1,20 +0,0 @@
#
# Fiasco.OC-specific default configuration options
#
#
# Directory, where to search for L4 headers
#
# When using this file as template for a customized
# '<builddir>/etc/kernel.conf'.
#
#L4_BUILD_DIR = $(HOME)/src/l4build.x86
#
# Path to the Fiasco.OC kernel
#
# When using this file as template for a customized
# '<builddir>/etc/kernel.conf'.
#
#KERNEL = $(HOME)/src/fiasco-build.x86/fiasco

View File

@ -1,8 +1 @@
#
# Description of build platform
#
#
# By default, build Fiasco.OC binaries for ia32.
#
SPECS ?= genode foc_x86_32
SPECS += genode foc

View File

@ -0,0 +1,23 @@
L4_INCLUDE_DIR := $(LIB_CACHE_DIR)/syscall-foc/include
ifeq ($(filter-out $(SPECS),x86_32),)
INC_DIR += $(L4_INCLUDE_DIR)/x86/l4f $(L4_INCLUDE_DIR)/x86
endif # 32bit
ifeq ($(filter-out $(SPECS),x86_64),)
INC_DIR += $(L4_INCLUDE_DIR)/amd64/l4f $(L4_INCLUDE_DIR)/amd64
endif # 64bit
ifeq ($(filter-out $(SPECS),arm),)
INC_DIR += $(L4_INCLUDE_DIR)/arm/l4f $(L4_INCLUDE_DIR)/arm
CC_OPT += -DARCH_arm
endif # ARM
INC_DIR += $(L4_INCLUDE_DIR)/l4f $(L4_INCLUDE_DIR)
CC_OPT += -DCONFIG_L4_CALL_SYSCALLS
#
# 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

View File

@ -6,7 +6,7 @@
include $(BASE_DIR)/lib/mk/base-common.inc
LIBS += syscall startup
LIBS += syscall-foc startup-foc
SRC_CC += spin_lock.cc cap_map.cc
SRC_CC += signal_submit.cc

View File

@ -1,5 +1,6 @@
include $(BASE_DIR)/lib/mk/base.inc
LIBS += base-foc-common
LIBS += base-foc-common syscall-foc
SRC_CC += cap_map_remove.cc cap_alloc.cc
SRC_CC += thread_start.cc

View File

@ -1,8 +1,6 @@
REQUIRES += foc
GEN_CORE_DIR = $(BASE_DIR)/src/core
LIBS += base-foc-common
LIBS += base-foc-common syscall-foc
SRC_CC += stack_area.cc \
core_log.cc \

View File

@ -0,0 +1,47 @@
FOC_BUILD_DIR = $(shell pwd)/build
FOC = $(FOC_BUILD_DIR)/foc
FOC_SRC := $(call select_from_ports,foc)/src/kernel/foc/kernel/fiasco
KERNEL_BUILD_OUTPUT_FILTER = 2>&1 | sed "s/^/ [fiasco.oc] /"
$(FOC_BUILD_DIR):
$(VERBOSE_MK) $(MAKE) SYSTEM_TARGET="$(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) $(MAKE) SYSTEM_TARGET="$(CROSS_DEV_PREFIX)" \
CC="$(CC)" CXX="$(CXX)" \
$(VERBOSE_DIR) -C $(FOC_BUILD_DIR) \
$(KERNEL_BUILD_OUTPUT_FILTER)
$(VERBOSE)touch $@
#
# Sigma0 and bootstrap are provided as L4 packages
#
# We build them within the L4 build directory created by the 'syscall-fiasco'
# library.
#
LIBS += syscall-foc
PKGS := uclibc-headers \
uclibc-minimal \
l4util \
cxx \
sigma0 \
drivers-frst/include drivers-frst/of drivers-frst/uart \
bootstrap
L4_BUILD_DIR := $(LIB_CACHE_DIR)/syscall-foc/build
include $(REP_DIR)/lib/mk/l4_pkg.inc
#
# 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'.
#
ifeq ($(called_from_lib_mk),yes)
all: $(FOC)
endif

View File

@ -8,8 +8,6 @@
# the target
#
LIBS += platform
ifeq ($(filter-out $(SPECS),x86_32),)
L4_BUILD_ARCH := x86_586
endif
@ -27,17 +25,22 @@ ifeq ($(filter-out $(SPECS),arm_v6),)
endif
ifeq ($(L4_BUILD_ARCH),)
all: l4_build_arch_undefined
$(VERBOSE)$(ECHO) "Error: L4_BUILD_ARCH undefined, architecture not supported"
$(VERBOSE)false
$(error L4_BUILD_ARCH undefined, architecture not supported)
endif
L4_BUILD_DIR = $(BUILD_BASE_DIR)/l4
L4_BUILD_OPT = SYSTEM_TARGET=$(CROSS_DEV_PREFIX)
L4_PKG_DIR := $(call select_from_ports,foc)/src/kernel/foc/l4/pkg
PKG_TAGS = $(addsuffix .tag,$(PKGS))
$(TARGET): $(PKG_TAGS)
BUILD_OUTPUT_FILTER = 2>&1 | sed "s~^~ [$*] ~"
#
# 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'.
#
ifeq ($(called_from_lib_mk),yes)
all: $(PKG_TAGS)
endif
#
# We preserve the order of processing 'l4/pkg/' directories because of
@ -47,17 +50,7 @@ $(TARGET): $(PKG_TAGS)
.NOTPARALLEL: $(PKG_TAGS)
%.tag:
$(VERBOSE_MK) $(MAKE) $(VERBOSE_DIR) O=$(L4_BUILD_DIR) -C $(L4_PKG_DIR)/$* "$(L4_BUILD_OPT)"
$(VERBOSE_MK) $(MAKE) $(VERBOSE_DIR) O=$(L4_BUILD_DIR) -C $(L4_PKG_DIR)/$* \
"$(L4_BUILD_OPT)" $(BUILD_OUTPUT_FILTER)
$(VERBOSE)mkdir -p $(dir $@) && touch $@
clean cleanall: clean_tags
# if (pseudo) target is named after a directory, remove the whole subtree
clean_prg_objects: clean_dir_named_as_target
clean_dir_named_as_target:
$(VERBOSE)(test -d $(TARGET) && rm -rf $(TARGET)) || true
clean_tags:
$(VERBOSE)rm -f $(PKG_TAGS)

View File

@ -1,14 +0,0 @@
#
# Build L4re base libraries, needed by sigma0 and bootstrap
# ignore stage one, visit the L4 build system at second build stage
ifeq ($(called_from_lib_mk),yes)
# packages in 'l4/pkg/'
PKGS = uclibc-headers uclibc-minimal l4util cxx
include $(REP_DIR)/mk/l4_pkg.mk
all: $(PKG_TAGS)
endif

View File

@ -1,59 +0,0 @@
#
# Create prerequisites for building Genode for Fiasco.OC
#
# Prior building Genode programs for Fiasco.OC, the kernel bindings must be
# generated. This is done by building a minimalistic subset of the original
# userland (L4re) that comes with Fiasco.OC.
#
#
# We do this also in the first build stage to ensure that the kernel
# port, if missing, is added to the missing-ports list of this stage.
#
FOC_CONTRIB_DIR := $(call select_from_ports,foc)/src/kernel/foc
#
# Execute the rules in this file only at the second build stage when we know
# about the complete build settings, e.g., the 'CROSS_DEV_PREFIX'.
#
ifeq ($(called_from_lib_mk),yes)
#
# Create mirror for architecture-specific L4sys header files
#
L4_INC_TARGETS += l4/sys \
l4f/l4/sys \
l4/sigma0 \
l4/vcpu
all: $(addprefix $(BUILD_BASE_DIR)/include/,$(L4_INC_TARGETS))
$(BUILD_BASE_DIR)/include/%:
$(VERBOSE)mkdir -p $(dir $@)
$(VERBOSE)ln -sf $(L4_BUILD_DIR)/include/$* $@
#
# Create L4 build directory
#
# Resetting the 'MAKEFLAGS' is important because otherwise, the L4
# build system will stuble over predefined variables, i.e., 'LIB'
#
$(BUILD_BASE_DIR)/l4/.kconfig:
$(VERBOSE_MK) MAKEFLAGS= $(MAKE) $(VERBOSE_DIR) -C $(FOC_CONTRIB_DIR)/l4 B=$(dir $@) \
DROPSCONF_DEFCONFIG="$(L4_CONFIG)" \
VERBOSE="$(VERBOSE)" SYSTEM_TARGET="$(CROSS_DEV_PREFIX)"
PKGS = ldscripts \
libgcc-pure \
l4sys \
libgcc \
libsigma0 \
libvcpu/include
include $(REP_DIR)/mk/l4_pkg.mk
all: $(PKG_TAGS)
$(PKG_TAGS): $(BUILD_BASE_DIR)/l4/.kconfig
endif

View File

@ -5,6 +5,6 @@ SRC_CC += spec/arm/platform_arm.cc \
# override default stack-area location
INC_DIR += $(REP_DIR)/src/include/spec/arm
include $(REP_DIR)/lib/mk/core.inc
include $(REP_DIR)/lib/mk/core-foc.inc
vpath platform_services.cc $(GEN_CORE_DIR)

View File

@ -1,8 +0,0 @@
#
# Create mirror for architecture-specific L4sys header files
#
L4_INC_TARGETS = arm/l4/sys \
arm/l4f/l4/sys \
arm/l4/vcpu
include $(REP_DIR)/lib/mk/platform.inc

View File

@ -0,0 +1,3 @@
LIBS += syscall-foc
include $(BASE_DIR)/lib/mk/spec/arm/startup.inc

View File

@ -0,0 +1,18 @@
L4_INC_TARGETS = arm/l4/sys \
arm/l4f/l4/sys \
arm/l4/vcpu
CC_OPT += -Iinclude/arm
include $(REP_DIR)/lib/mk/syscall-foc.inc
SRC_C += utcb.c
SRC_S += atomic_ops_s.S
utcb.c:
$(VERBOSE)ln -sf $(L4_BUILD_DIR)/source/pkg/l4sys/lib/src/utcb.c
atomic_ops_s.S:
$(VERBOSE)ln -sf $(L4_BUILD_DIR)/source/pkg/l4sys/lib/src/ARCH-arm/atomic_ops_s.S
utcb.c atomic_ops_s.S: $(PKG_TAGS)

View File

@ -1,5 +0,0 @@
SRC_C += utcb.c
SRC_S += atomic_ops_s.S
vpath atomic_ops_s.S $(L4_BUILD_DIR)/source/pkg/l4sys/lib/src/ARCH-arm
vpath utcb.c $(L4_BUILD_DIR)/source/pkg/l4sys/lib/src

View File

@ -0,0 +1,3 @@
KERNEL_CONFIG := $(REP_DIR)/config/arndale.kernel
include $(REP_DIR)/lib/mk/kernel-foc.inc

View File

@ -1,6 +0,0 @@
#
# Configuration for L4 build system (for kernel-bindings, sigma0, bootstrap).
#
L4_CONFIG = $(call select_from_repositories,config/arndale.user)
include $(REP_DIR)/lib/mk/spec/arm/platform.inc

View File

@ -0,0 +1,3 @@
L4_CONFIG := $(call select_from_repositories,config/arndale.user)
include $(REP_DIR)/lib/mk/spec/arm/syscall-foc.inc

View File

@ -0,0 +1,3 @@
KERNEL_CONFIG := $(REP_DIR)/config/imx53.kernel
include $(REP_DIR)/lib/mk/kernel-foc.inc

View File

@ -1,6 +0,0 @@
#
# Configuration for L4 build system (for kernel-bindings, sigma0, bootstrap).
#
L4_CONFIG = $(call select_from_repositories,config/imx53.user)
include $(REP_DIR)/lib/mk/spec/arm/platform.inc

View File

@ -0,0 +1,3 @@
L4_CONFIG := $(call select_from_repositories,config/imx53.user)
include $(REP_DIR)/lib/mk/spec/arm/syscall-foc.inc

View File

@ -0,0 +1,3 @@
KERNEL_CONFIG := $(REP_DIR)/config/odroid_x2.kernel
include $(REP_DIR)/lib/mk/kernel-foc.inc

View File

@ -1,6 +0,0 @@
#
# Configuration for L4 build system (for kernel-bindings, sigma0, bootstrap).
#
L4_CONFIG = $(call select_from_repositories,config/odroid_x2.user)
include $(REP_DIR)/lib/mk/spec/arm/platform.inc

View File

@ -0,0 +1,3 @@
L4_CONFIG := $(call select_from_repositories,config/odroid_x2.user)
include $(REP_DIR)/lib/mk/spec/arm/syscall-foc.inc

View File

@ -0,0 +1,3 @@
KERNEL_CONFIG := $(REP_DIR)/config/panda.kernel
include $(REP_DIR)/lib/mk/kernel-foc.inc

View File

@ -1,6 +0,0 @@
#
# Configuration for L4 build system (for kernel-bindings, sigma0, bootstrap).
#
L4_CONFIG = $(call select_from_repositories,config/panda.user)
include $(REP_DIR)/lib/mk/spec/arm/platform.inc

View File

@ -0,0 +1,3 @@
L4_CONFIG := $(call select_from_repositories,config/panda.user)
include $(REP_DIR)/lib/mk/spec/arm/syscall-foc.inc

View File

@ -0,0 +1,3 @@
KERNEL_CONFIG := $(REP_DIR)/config/pbxa9.kernel
include $(REP_DIR)/lib/mk/kernel-foc.inc

View File

@ -1,6 +0,0 @@
#
# Configuration for L4 build system (for kernel-bindings, sigma0, bootstrap).
#
L4_CONFIG = $(call select_from_repositories,config/pbxa9.user)
include $(REP_DIR)/lib/mk/spec/arm/platform.inc

View File

@ -0,0 +1,3 @@
L4_CONFIG := $(call select_from_repositories,config/pbxa9.user)
include $(REP_DIR)/lib/mk/spec/arm/syscall-foc.inc

View File

@ -0,0 +1,3 @@
KERNEL_CONFIG := $(REP_DIR)/config/rpi.kernel
include $(REP_DIR)/lib/mk/kernel-foc.inc

View File

@ -1,6 +0,0 @@
#
# Configuration for L4 build system (for kernel-bindings, sigma0, bootstrap).
#
L4_CONFIG = $(call select_from_repositories,config/rpi.user)
include $(REP_DIR)/lib/mk/spec/arm/platform.inc

View File

@ -0,0 +1,3 @@
L4_CONFIG := $(call select_from_repositories,config/rpi.user)
include $(REP_DIR)/lib/mk/spec/arm/syscall-foc.inc

View File

@ -0,0 +1,10 @@
SRC_CC += io_port_session_component.cc \
io_port_session_support.cc \
spec/x86/ipc_pager.cc \
spec/x86/platform.cc
vpath io_port_session_component.cc $(BASE_DIR)/src/core/spec/x86
vpath io_port_session_support.cc $(BASE_DIR)/src/core/spec/x86
vpath platform_services.cc $(BASE_DIR)/src/core/spec/x86
include $(REP_DIR)/lib/mk/core-foc.inc

View File

@ -1,11 +0,0 @@
REQUIRES += x86
SRC_CC += io_port_session_component.cc \
io_port_session_support.cc \
spec/x86/ipc_pager.cc \
spec/x86/platform.cc
vpath io_port_session_component.cc $(BASE_DIR)/src/core/spec/x86
vpath io_port_session_support.cc $(BASE_DIR)/src/core/spec/x86
vpath platform_services.cc $(BASE_DIR)/src/core/spec/x86
include $(REP_DIR)/lib/mk/core.inc

View File

@ -0,0 +1,12 @@
SRC_C += utcb.c
SRC_S += syscalls_direct.S
include $(REP_DIR)/lib/mk/syscall-foc.inc
utcb.c:
$(VERBOSE)ln -sf $(L4_BUILD_DIR)/source/pkg/l4sys/lib/src/utcb.c
syscalls_direct.S:
$(VERBOSE)ln -sf $(L4_BUILD_DIR)/source/pkg/l4sys/lib/src/ARCH-x86/syscalls_direct.S
utcb.c syscalls_direct.S: $(PKG_TAGS)

View File

@ -1,5 +0,0 @@
SRC_C += utcb.c
SRC_S += syscalls_direct.S
vpath syscalls_direct.S $(L4_BUILD_DIR)/source/pkg/l4sys/lib/src/ARCH-x86
vpath utcb.c $(L4_BUILD_DIR)/source/pkg/l4sys/lib/src

View File

@ -0,0 +1,3 @@
SRC_CC += spec/x86_32/ipc_pager.cc
include $(REP_DIR)/lib/mk/spec/x86/core-foc.inc

View File

@ -1,4 +0,0 @@
REQUIRES += foc_x86_32
SRC_CC += spec/x86_32/ipc_pager.cc
include $(REP_DIR)/lib/mk/spec/x86/core.inc

View File

@ -0,0 +1,3 @@
KERNEL_CONFIG := $(REP_DIR)/config/x86_32.kernel
include $(REP_DIR)/lib/mk/kernel-foc.inc

View File

@ -1,13 +0,0 @@
#
# Configuration for L4 build system (for kernel-bindings, sigma0, bootstrap).
#
L4_CONFIG = $(call select_from_repositories,config/x86_32.user)
#
# Create mirror for architecture-specific L4sys header files
#
L4_INC_TARGETS = x86/l4/sys \
x86/l4f/l4/sys \
x86/l4/vcpu
include $(REP_DIR)/lib/mk/platform.inc

View File

@ -0,0 +1,3 @@
LIBS += syscall-foc
include $(BASE_DIR)/lib/mk/spec/x86_32/startup.inc

View File

@ -0,0 +1,9 @@
L4_CONFIG := $(call select_from_repositories,config/x86_32.user)
L4_INC_TARGETS := x86/l4/sys x86/l4f/l4/sys x86/l4/vcpu
CC_OPT += -Iinclude/x86
include $(REP_DIR)/lib/mk/spec/x86/syscall-foc.inc
vpath syscalls_direct.S $(L4_PKG_DIR)/l4sys/lib/src/ARCH-x86

View File

@ -0,0 +1,3 @@
SRC_CC += spec/x86_64/ipc_pager.cc
include $(REP_DIR)/lib/mk/spec/x86/core-foc.inc

View File

@ -1,4 +0,0 @@
REQUIRES += foc_x86_64
SRC_CC += spec/x86_64/ipc_pager.cc
include $(REP_DIR)/lib/mk/spec/x86/core.inc

View File

@ -0,0 +1,3 @@
KERNEL_CONFIG := $(REP_DIR)/config/x86_64.kernel
include $(REP_DIR)/lib/mk/kernel-foc.inc

View File

@ -1,13 +0,0 @@
#
# Configuration for L4 build system (for kernel-bindings, sigma0, bootstrap).
#
L4_CONFIG = $(call select_from_repositories,config/x86_64.user)
#
# Create mirror for architecture-specific L4sys header files
#
L4_INC_TARGETS = amd64/l4/sys \
amd64/l4f/l4/sys \
amd64/l4/vcpu
include $(REP_DIR)/lib/mk/platform.inc

View File

@ -0,0 +1,3 @@
LIBS += syscall-foc
include $(BASE_DIR)/lib/mk/spec/x86_64/startup.inc

View File

@ -0,0 +1,7 @@
L4_CONFIG := $(call select_from_repositories,config/x86_64.user)
L4_INC_TARGETS := amd64/l4/sys amd64/l4f/l4/sys amd64/l4/vcpu
CC_OPT += -Iinclude/amd64
include $(REP_DIR)/lib/mk/spec/x86/syscall-foc.inc

View File

@ -0,0 +1,59 @@
#
# Create prerequisites for building Genode for Fiasco.OC
#
# Prior building Genode programs for Fiasco.OC, the kernel bindings must be
# generated. This is done by building a minimalistic subset of the original
# userland (L4re) that comes with Fiasco.OC.
#
L4_SRC_DIR := $(call select_from_ports,foc)/src/kernel/foc
L4_BUILD_DIR := $(shell pwd)/build
#
# Create mirror for architecture-specific L4sys header files
#
L4_INC_TARGETS += l4/sys \
l4f/l4/sys \
l4/sigma0 \
l4/vcpu
CC_OPT += -Iinclude
include/%:
$(VERBOSE)mkdir -p $(dir $@)
$(VERBOSE)ln -sf $(L4_BUILD_DIR)/include/$* $@
#
# 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
#
# Create L4 build directory
#
# Resetting the 'MAKEFLAGS' is important because otherwise, the L4
# build system will stuble over predefined variables, i.e., 'LIB'
#
$(L4_BUILD_DIR)/.kconfig:
$(VERBOSE_MK) MAKEFLAGS= $(MAKE) $(VERBOSE_DIR) -C $(L4_SRC_DIR)/l4 \
B=$(L4_BUILD_DIR) DROPSCONF_DEFCONFIG="$(L4_CONFIG)" \
VERBOSE="$(VERBOSE)" SYSTEM_TARGET="$(CROSS_DEV_PREFIX)" \
2>&1 | sed "s/^/ [l4build] /"
PKGS := ldscripts \
libgcc-pure \
l4sys \
libgcc \
libsigma0 \
libvcpu/include
include $(REP_DIR)/lib/mk/l4_pkg.inc
$(PKG_TAGS): $(L4_BUILD_DIR)/.kconfig
$(PKG_TAGS): $(addprefix include/,$(L4_INC_TARGETS))
#
# Compile 'syscall-foc.lib.a' not before the 'PKGS' are completely built
#
$(SRC_S) $(SRC_C) : $(PKG_TAGS)

View File

@ -1,46 +0,0 @@
#
# 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

View File

@ -1,27 +1 @@
#
# Specifics for Fiasco.OC on ARM
#
SPECS += foc
#
# ARM-specific L4/sys headers
#
L4_INC_DIR = $(BUILD_BASE_DIR)/include/arm
L4F_INC_DIR = $(BUILD_BASE_DIR)/include/arm/l4f
#
# Defines for L4/sys headers
#
CC_OPT += -DCONFIG_L4_CALL_SYSCALLS -DARCH_arm
#
# Architecture-specific L4sys header files
#
L4_INC_TARGETS = arm/l4/sys \
arm/l4f/l4/sys \
arm/l4/vcpu
include $(call select_from_repositories,mk/spec/foc.mk)
INC_DIR += $(L4F_INC_DIR) $(L4_INC_DIR)

View File

@ -1,6 +1,6 @@
SPECS += foc_arm imx53 imx53_qsb
# add repository relative include paths
# add repository-relative include paths
REP_INC_DIR += include/spec/imx53_qsb
include $(call select_from_repositories,mk/spec/imx53.mk)

View File

@ -1,20 +1,3 @@
#
# Specifics for Fiasco.OC on x86
#
SPECS += x86_32 foc pci ps2 vesa framebuffer
SPECS += x86_32 foc
SPECS += pci ps2 vesa framebuffer
#
# L4/sys headers
#
L4_INC_DIR = $(BUILD_BASE_DIR)/include/x86
L4F_INC_DIR = $(BUILD_BASE_DIR)/include/x86/l4f
#
# Also include less-specific configuration last
#
include $(call select_from_repositories,mk/spec/x86_32.mk)
include $(call select_from_repositories,mk/spec/foc.mk)
INC_DIR += $(L4F_INC_DIR) $(L4_INC_DIR)

View File

@ -1,25 +1,3 @@
#
# Specifics for Fiasco.OC on x86 64-bit
#
SPECS += x86_64 foc pci ps2 vesa framebuffer
SPECS += x86_64 foc
SPECS += pci ps2 vesa framebuffer
#
# L4/sys headers
#
L4_INC_DIR = $(BUILD_BASE_DIR)/include/amd64
L4F_INC_DIR = $(BUILD_BASE_DIR)/include/amd64/l4f
#
# Compile for 64-bit
#
CC_OPT += -m64
#
# Also include less-specific configuration last
#
include $(call select_from_repositories,mk/spec/x86_64.mk)
include $(call select_from_repositories,mk/spec/foc.mk)
INC_DIR += $(L4F_INC_DIR) $(L4_INC_DIR)

View File

@ -1,5 +0,0 @@
TARGET = bootstrap
PKGS = drivers-frst/include drivers-frst/of drivers-frst/uart bootstrap
LIBS = l4re_support
include $(REP_DIR)/mk/l4_pkg.mk

View File

@ -0,0 +1,3 @@
LIBS = core-foc
include $(BASE_DIR)/src/core/target.inc

View File

@ -0,0 +1,2 @@
TARGET = kernel-foc
LIBS = kernel-foc

View File

@ -1,5 +0,0 @@
REQUIRES = arndale
FIASCO_DIR := $(call select_from_ports,foc)/src/kernel/foc/kernel/fiasco
KERNEL_CONFIG = $(REP_DIR)/config/arndale.kernel
-include $(PRG_DIR)/../../target.inc

View File

@ -1,4 +0,0 @@
REQUIRES = imx53
KERNEL_CONFIG = $(REP_DIR)/config/imx53.kernel
-include $(PRG_DIR)/../../target.inc

View File

@ -1,5 +0,0 @@
REQUIRES = odroid_x2
FIASCO_DIR := $(call select_from_ports,foc)/src/kernel/foc/kernel/fiasco
KERNEL_CONFIG = $(REP_DIR)/config/odroid_x2.kernel
-include $(PRG_DIR)/../../target.inc

View File

@ -1,5 +0,0 @@
REQUIRES = panda
FIASCO_DIR := $(call select_from_ports,foc)/src/kernel/foc/kernel/fiasco
KERNEL_CONFIG = $(REP_DIR)/config/panda.kernel
-include $(PRG_DIR)/../../target.inc

View File

@ -1,4 +0,0 @@
REQUIRES = pbxa9
KERNEL_CONFIG = $(REP_DIR)/config/pbxa9.kernel
-include $(PRG_DIR)/../../target.inc

View File

@ -1,5 +0,0 @@
REQUIRES = rpi
FIASCO_DIR := $(call select_from_ports,foc)/src/kernel/foc/kernel/fiasco
KERNEL_CONFIG = $(REP_DIR)/config/rpi.kernel
-include $(PRG_DIR)/../../target.inc

View File

@ -1,4 +0,0 @@
REQUIRES = x86 32bit
KERNEL_CONFIG = $(REP_DIR)/config/x86_32.kernel
-include $(PRG_DIR)/../../target.inc

View File

@ -1,4 +0,0 @@
REQUIRES = x86 64bit
KERNEL_CONFIG = $(REP_DIR)/config/x86_64.kernel
-include $(PRG_DIR)/../../target.inc

View File

@ -1,21 +0,0 @@
TARGET = fiasco.oc
REQUIRES += foc
FOC_BUILD_DIR = $(BUILD_BASE_DIR)/kernel/$(TARGET)
FIASCO = $(FOC_BUILD_DIR)/fiasco
FIASCO_SRC := $(call select_from_ports,foc)/src/kernel/foc/kernel/fiasco
$(TARGET): $(FIASCO)
$(FOC_BUILD_DIR):
$(VERBOSE_MK) $(MAKE) SYSTEM_TARGET="$(CROSS_DEV_PREFIX)" \
$(VERBOSE_DIR) -C $(FIASCO_SRC) BUILDDIR=$@
$(VERBOSE)cp $(KERNEL_CONFIG) $@/globalconfig.out
$(FIASCO): $(FOC_BUILD_DIR)
$(VERBOSE_MK) $(MAKE) SYSTEM_TARGET="$(CROSS_DEV_PREFIX)" \
CC="$(CC)" CXX="$(CXX)" \
$(VERBOSE_DIR) -C $(FOC_BUILD_DIR)
$(VERBOSE)ln -sf $@ $(BUILD_BASE_DIR)/bin/$(TARGET)
clean cleanall:
$(VERBOSE)rm -rf $(FOC_BUILD_DIR)

View File

@ -1,5 +0,0 @@
TARGET = l4f/sigma0
PKGS = sigma0
LIBS = l4re_support
include $(REP_DIR)/mk/l4_pkg.mk

View File

@ -2,4 +2,4 @@ REQUIRES = foc
TARGET = test-cap_integrity
SRC_CC = main.cc
INC_DIR += $(REP_DIR)/src/include
LIBS = base
LIBS = base-foc syscall-foc

View File

@ -1,8 +0,0 @@
#
# \brief Automatically included by targets that depend on the core lib
# \author Martin Stein
# \date 2011-12-16
#
# add include paths
INC_DIR += $(REP_DIR)/src/core/include

View File

@ -5,4 +5,4 @@ SRC_CC += env.cc
SRC_CC += capability.cc
SRC_CC += cache.cc
LIBS += startup base-hw-common
LIBS += startup-hw base-hw-common

View File

@ -7,4 +7,4 @@
REQUIRES = x86_64
# add library dependencies
LIBS += core-muen_off
LIBS += core-hw-muen_off

View File

@ -6,4 +6,4 @@
#
# add library dependencies
LIBS += core-trustzone_on
LIBS += core-hw-trustzone_off

Some files were not shown because too many files have changed in this diff Show More