genode/repos/base/lib/mk
Norman Feske 051e84c4b4 Move server API concept to base framework
This commit introduces the new `Component` interface in the form of the
headers base/component.h and base/entrypoint.h. The os/server.h API
has become merely a compatibilty wrapper and will eventually be removed.
The same holds true for os/signal_rpc_dispatcher.h. The mechanism has
moved to base/signal.h and is now called 'Signal_handler'.

Since the patch shuffles headers around, please do a 'make clean' in the
build directory.

Issue #1832
2016-04-11 11:51:46 +02:00
..
spec ldso: Support for RISC-V 2016-02-26 11:36:51 +01:00
component_entry_point.mk Move server API concept to base framework 2016-04-11 11:51:46 +02:00
cxx.mk cxx: Simplify C++ exception wrapper functions 2016-02-16 14:38:02 +01:00
ldso-startup.mk base: Genode's dynamic linker 2014-11-12 14:44:15 +01:00
ldso.inc Move server API concept to base framework 2016-04-11 11:51:46 +02:00
platform.mk Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
README Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
startup.inc Move server API concept to base framework 2016-04-11 11:51:46 +02:00
syscall.mk Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +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'.