mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-24 07:46:42 +00:00
b1b59fe8a6
Normally, the build system creates libraries as mere side effects of building targets. There is no way to explicitly trigger the build of libraries only. However, in some circumstances (for example for testing the thorough build of all libraries) a mechanism for explicitly building libraries would be convenient. This patch implements this feature. It consists of two changes. The new pseudo target at 'base/src/lib/target.mk' gathers all libraries that are available in all repositories specified for the build directory and makes its target depend on them. This way, by building 'lib', all libraries would be traversed. However, in the (likely) situation that those libraries include one or more invalid libraries (libraries with unsatisfied build requirements), the build system would skip the target. Hence, the second change introduces a new condition 'FORCE_BUILD_LIBS' to the build system. By setting this variable to 'yes' in the 'target.mk' file, we let the build system to traverse library dependencies for all valid libraries regardless of the presence of any invalid library. |
||
---|---|---|
.. | ||
etc | ||
include | ||
lib | ||
mk | ||
run | ||
src | ||
README |
This is generic part of the Genode implementation. It consists of two parts: :_Core_: is the ultimate root of the Genode application tree and provides abstractions for the lowest-level hardware resources such as RAM, ROM, CPU, and generic device access. All generic parts of Core can be found here - for system-specific implementations refer to the appropriate 'base-<system>' directory. :_Base libraries and protocols_: that are used by each Genode component to interact with other components. This is the glue that holds everything together.