![]() |
L4Re Operating System Framework
Interface and Usage Documentation
|
The prog role is used to build executable programs.
The following variables can only be set globally for the Makefile:
MODEKind of target to build for. The following values are possible:
static - build a statically linked binary (default)shared - build a dynamically linked binaryl4linux - build a binary for running on L4Linux on the target platformhost - build for host systemtargetsys - build a binary for the target platform with the compiler's default settingsSYSTEMSList of architectures the target can be built for. The entries must be space-separated entries either naming an architecture (e.g. amd64) or an architecture and ABI (e.g, arm-l4f). When not defined, the target will be built for all possible platforms.
TARGETName or names of the binaries to compile. This variable may also be postfixed with a specific architecture.
The following variables may either be used with or without a description suffix. Without suffix they will be used for all operations. With a specific description their use is restricted to a subset. These specifications include a target file and the architecture, both optional but in this order, separated by underscores. The specific variables will be used in addition to the more general ones.
SRC_C / SRC_CC / SRC_F / SRC_S.c, .cc, .f90, .S source files.
REQUIRES_LIBSList of libraries the binary depends on. This works only with libraries that export a pkg_config configuration file. Automatically adds any required include and link options.
DEPENDS_PKGSList of packages this binary depends on. If one these packages is missing then building of the binary will be skipped.
CPPFLAGS / CFLAGS / CXXFLAGS / FFLAGS / ASFLAGSOptions for the C preprocessor, C compiler, C++ compiler, Fortran compiler and assembler. When used with suffix, the referred element is the source file, not the target file.
LDFLAGSOptions for the linker ld.
LIBSAdditional libraries to link against (with -l).
PRIVATE_LIBDIRAdditional directories to search for libraries.
CRT0 / CRTN(expert use only) Files containing custom startup and finish code.
LDSCRIPT(expert use only) Custom link script to use.