genode/repos/base/lib/mk
2019-05-27 14:52:51 +02:00
..
spec base: add initial support for ARM 64-bit 2019-05-27 14:52:51 +02:00
alarm.mk Move timer from os to base repository 2019-01-14 12:33:57 +01:00
base-common.inc Add stack protector storage to base library 2019-04-01 19:33:46 +02:00
base.inc base: remove dependency from deprecated APIs 2019-02-19 11:08:17 +01:00
base.mk
cxx.mk
ld-platform.inc Enable use of 'check_abi' in build system 2018-01-17 12:14:42 +01:00
ld.mk
ldso-startup.mk
README
startup.inc
timeout-arm.mk Move timer from os to base repository 2019-01-14 12:33:57 +01:00
timeout.mk Move timer from os to base repository 2019-01-14 12:33:57 +01:00

This directory contains library description files.  Each '<libname>.mk' file
holds the instruction for building the library '<libname>'. These makefiles are
never used directly but they are called from the build system when required.
When called, the build system passes the following variables:

:'BASE_DIR': This is the base directory of the source tree.

Source codes are specified by setting the 'SRC_CC' and 'SRC_C' variables.
The source code locations must be specified via 'vpath'.
A library can include other libraries by setting the 'LIBS'
variable.

Each '<libname>.mk' file must include the 'lib.mk' role file:

! include $(BASE_DIR)/mk/lib.mk

Libraries implementing one and the same library interface may have specific
implementations for different platforms. Such platform-specific '<libname>.mk'
files should be placed into corresponding subdirectories. For example, the
'linux'-specific implementation of the 'server' library resides in the 'linux/'
subdirectory. The build system automatically searches the right '<libname>.mk'
file by evaluating the 'SPECS' configuration variable. If 'SPECS' is set to
'host linux', the build system will look into the directories './', './host',
and './linux'.