mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-23 15:32:25 +00:00
ca971bbfd8
This patch changes the top-level directory layout as a preparatory step for improving the tools for managing 3rd-party source codes. The rationale is described in the issue referenced below. Issue #1082
25 lines
1.2 KiB
Plaintext
25 lines
1.2 KiB
Plaintext
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'.
|