genode/base/mk
Norman Feske fae63f4fa9 Merge base libraries into a single library
This patch simplifies the way of how Genode's base libraries are
organized. Originally, the base API was implemented in the form of many
small libraries such as 'thread', 'env', 'server', etc. Most of them
used to consist of only a small number of files. Because those libraries
are incorporated in any build, the checking of their inter-dependencies
made the build process more verbose than desired. Also, the number of
libraries and their roles (core only, non-core only, shared by both core
and non-core) were not easy to capture.

Hereby, the base libraries have been reduced to the following few
libraries:

- startup.mk contains the startup code for normal Genode processes.
  On some platform, core is able to use the library as well.
- base-common.mk contains the parts of the base library that are
  identical by core and non-core processes.
- base.mk contains the complete base API implementation for non-core
  processes

Consequently, the 'LIBS' declaration in 'target.mk' files becomes
simpler as well. In the most simple case, only the 'base' library must
be mentioned.

Fixes #18
2013-02-19 14:45:55 +01:00
..
base-libs.mk Merge base libraries into a single library 2013-02-19 14:45:55 +01:00
dep_lib.mk Add 'select_from_repositories' in 'dep_lib.mk' 2012-03-06 17:09:54 +01:00
dep_prg.mk Support for building all libs via 'make lib' 2012-01-24 18:56:35 +01:00
generic.mk Merge final fixes from internal repositories 2011-12-23 14:04:29 +01:00
global.mk Noux: get 'libgcc_eh.a' built with GCC 2012-09-30 13:37:20 +02:00
lib.mk Merge base libraries into a single library 2013-02-19 14:45:55 +01:00
prg.mk Merge base libraries into a single library 2013-02-19 14:45:55 +01:00
README Imported Genode release 11.11 2011-12-22 16:19:25 +01:00
spec-32bit.mk Imported Genode release 11.11 2011-12-22 16:19:25 +01:00
spec-64bit.mk Imported Genode release 11.11 2011-12-22 16:19:25 +01:00
spec-arm_v5.mk Noux: update GCC to version 4.6.1 2012-07-04 14:56:58 +02:00
spec-arm_v6.mk Nested init on i.MX31 via base_hw. Rework base_hw. 2012-11-14 16:36:41 +01:00
spec-arm_v7.mk Nested init on i.MX31 via base_hw. Rework base_hw. 2012-11-14 16:36:41 +01:00
spec-arm_v7a.mk Nested init on i.MX31 via base_hw. Rework base_hw. 2012-11-14 16:36:41 +01:00
spec-arm.mk Imported Genode release 11.11 2011-12-22 16:19:25 +01:00
spec-cortex_a8.mk Fiasco.OC: enable i.MX53 platform 2012-11-23 12:20:27 +01:00
spec-cortex_a9.mk Enhance specs that concern 'base-hw'. 2012-08-02 16:41:21 +02:00
spec-experimental.mk Imported Genode release 11.11 2011-12-22 16:19:25 +01:00
spec-host.mk Imported Genode release 11.11 2011-12-22 16:19:25 +01:00
spec-pl011.mk Enhance specs that concern 'base-hw'. 2012-08-02 16:41:21 +02:00
spec-pl390.mk Enhance specs that concern 'base-hw'. 2012-08-02 16:41:21 +02:00
spec-platform_imx31.mk base-hw & imx31: userland timer driver 2013-01-08 11:36:52 +01:00
spec-platform_imx53.mk base-hw & imx53: enable nested init 2013-01-08 11:36:52 +01:00
spec-platform_panda.mk Merge panda_a2 and panda SPEC (fix #505, fix #506) 2012-11-23 12:20:27 +01:00
spec-platform_pbxa9.mk Enhance specs that concern 'base-hw'. 2012-08-02 16:41:21 +02:00
spec-platform_vea9x4.mk Enhance specs that concern 'base-hw'. 2012-08-02 16:41:21 +02:00
spec-platform_vpb926.mk Imported Genode release 11.11 2011-12-22 16:19:25 +01:00
spec-release.mk Imported Genode release 11.11 2011-12-22 16:19:25 +01:00
spec-tl16c750.mk Enhance specs that concern 'base-hw'. 2012-08-02 16:41:21 +02:00
spec-x86_32.mk Imported Genode release 11.11 2011-12-22 16:19:25 +01:00
spec-x86_64.mk Fix binary size for 64bit 2012-09-05 15:06:52 +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/'.