mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-20 06:07:59 +00:00
253097314c
This patch makes the benefit of the recently introduced unified Genode ABI available to developers by enabling the use of multiple kernels from within a single build directory. The create_builddir tool has gained a new set of kernel-agnostic platform arguments such as x86_32, or panda. Most build targets within directories are in principle compatible with all kernels that support the selected hardware platform. To execute a scenario via the run tool, one has to select the kernel to use by setting the 'KERNEL' argument in the build configuration (etc/build.conf). Alternatively, the 'KERNEL' can be specified as command-line argument of the Genode build system, e.g.: make run/log KERNEL=nova This allows us to easily switch from one kernel to another without rebuilding any Genode component except for the very few kernel-specific ones. The new version of the 'create_builddir' tool is still compatible with the old version. The old kernel-specific build directories can still be created. However, those variants will eventually be removed. Note that the commit removes the 'ports-foc' repository from the generated 'build.conf' files. As this is only meaningful for 'foc', I did not want to include it in the list of regular repositories (as visible in a 'x86_32' build directory). Hence, the repository must now be manually added in order to use L4Linux. Issue #2190 |
||
---|---|---|
.. | ||
spec | ||
base-libs.mk | ||
dep_lib.mk | ||
dep_prg.mk | ||
generic.mk | ||
global.mk | ||
lib.mk | ||
prg.mk | ||
README | ||
util.inc |
This directory contains the build system. In consists mainly of makefile templates for different directory roles. :'global.mk': This file contains global variables, for example the definitions of the tools to use. :'generic.mk': Generic rules for creating file types from others. :'prg.mk': This file represents the target binary role of a directory. It must be included by all makefiles that build programs. :'lib.mk': This file represents a library role. It is never used from within the 'src/' directory but only from the <libname>.mk files in 'lib/mk/'.