genode/repos/base/lib/mk
Martin Stein c23b74e150 base-hw: problems with timeout lib in src recipe
This commit fixes two issues with the timeout lib and the base-hw src recipe:

* Add source files of timeout lib to recipe content.
  The files weren't copied to the depot until now. However, the archive
  nonetheless built successfully because of the second issue that is described
  below.

* Get rid of the usage of the BASE_DIR variable in the timeout lib.
  The BASE_DIR variable always resolves to the repos/base directory even when
  building in a depot. That said, the use of BASE_DIR in make-files that are
  not part of the build system itself must be avoided. Instead, REP_DIR,
  REP_INC_DIR, and $(call select_from_repositories, ...) should be used.

Ref #4209
2022-10-12 11:59:08 +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-hw: problems with timeout lib in src recipe 2022-10-12 11:59:08 +02:00
timeout.mk base-hw: problems with timeout lib in src recipe 2022-10-12 11:59:08 +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'.