genode/base/mk
Norman Feske b1b59fe8a6 Support for building all libs via 'make lib'
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.
2012-01-24 18:56:35 +01:00
..
base-libs.mk Imported Genode release 11.11 2011-12-22 16:19:25 +01:00
dep_lib.mk Imported Genode release 11.11 2011-12-22 16:19:25 +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 Merge final fixes from internal repositories 2011-12-23 14:04:29 +01:00
lib.mk Imported Genode release 11.11 2011-12-22 16:19:25 +01:00
prg.mk Merge final fixes from internal repositories 2011-12-23 14:04:29 +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 Imported Genode release 11.11 2011-12-22 16:19:25 +01:00
spec-arm_v7a.mk Imported Genode release 11.11 2011-12-22 16:19:25 +01:00
spec-arm.mk Imported Genode release 11.11 2011-12-22 16:19:25 +01: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-platform_pbxa9.mk Imported Genode release 11.11 2011-12-22 16:19:25 +01:00
spec-platform_vea9x4.mk Imported Genode release 11.11 2011-12-22 16:19:25 +01: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-x86_32.mk Imported Genode release 11.11 2011-12-22 16:19:25 +01:00
spec-x86_64.mk Imported Genode release 11.11 2011-12-22 16:19:25 +01: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/'.