genode/repos/base/mk
Norman Feske 3d7b92ea50 Generalize ABI mechanism to shared objects
This patch make the ABI mechanism available to shared libraries other
than Genode's dynamic linker. It thereby allows us to introduce
intermediate ABIs at the granularity of shared libraries. This is useful
for slow-moving ABIs such as the libc's interface but it will also
become handy for the package management.

To implement the feature, the build system had to be streamlined a bit.
In particular, archive dependencies and shared-lib dependencies are now
handled separately, and the global list of 'SHARED_LIBS' is no more.
Now, the variable with the same name holds the per-target list of shared
libraries used by the target.
2017-01-13 13:06:54 +01:00
..
spec Add unified build directories to create_builddir 2017-01-13 13:05:44 +01:00
base-libs.mk Genode application binary interface (ABI) 2016-12-23 16:50:28 +01:00
dep_lib.mk Generalize ABI mechanism to shared objects 2017-01-13 13:06:54 +01:00
dep_prg.mk Generalize ABI mechanism to shared objects 2017-01-13 13:06:54 +01:00
generic.mk Generalize ABI mechanism to shared objects 2017-01-13 13:06:54 +01:00
global.mk Generalize ABI mechanism to shared objects 2017-01-13 13:06:54 +01:00
lib.mk Generalize ABI mechanism to shared objects 2017-01-13 13:06:54 +01:00
prg.mk Generalize ABI mechanism to shared objects 2017-01-13 13:06:54 +01:00
README Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
util.inc mk: shortcircuit select_from_ports for pkg tool 2016-07-15 11:38:26 +02:00

This directory contains the build system. In consists mainly of makefile
templates for different directory roles.

:'global.mk': This file contains global variables, for example the
  definitions of the tools to use.

:'generic.mk': Generic rules for creating file types from others.

:'prg.mk': This file represents the target binary role of a directory.
  It must be included by all makefiles that build programs.

:'lib.mk': This file represents a library role. It is never used from
  within the 'src/' directory but only from the <libname>.mk files
  in 'lib/mk/'.