genode/repos/base/lib/mk
Norman Feske f1f0ee3a21 base: disregard ld.lib.so stub as build artifact
The ld.lib.so stub library generated by base/lib/mk/ld.mk has no
purpose at runtime. On the contrary, it must not be integrated into the
boot image because its name collides with the kernel-specific dynamic
linker.
2022-09-19 14:00:32 +02:00
..
spec ldso: Fix RISC-V support with 21.05 tool chain 2021-06-25 11:56:22 +02:00
base-common.inc trace_buffer: partition trace buffer 2022-03-21 13:42:16 +01:00
base.inc Remove 'Env::reinit' and 'Env::reinit_main_thread' 2022-02-15 10:17:28 +01:00
base.mk Build dynamically linked executables by default 2016-12-14 11:22:27 +01:00
cxx.mk cxx: localize operator new(unsigned long) in supc++.o 2021-02-23 12:02:41 +01:00
ld-platform.inc base: avoid superfluous postprocessing of ldso 2021-01-25 14:00:43 +01:00
ld.mk base: disregard ld.lib.so stub as build artifact 2022-09-19 14:00:32 +02:00
ldso_so_support.mk Cleanup shared-object support mechanics 2020-05-18 10:16:13 +02:00
README Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
startup.inc base: remove platform.mk and syscall.mk 2017-01-13 13:06:53 +01:00
timeout-arm.mk base: remove alarm library from base 2020-10-09 13:33:36 +02:00
timeout.mk base: remove alarm library from base 2020-10-09 13:33:36 +02: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'.