diff --git a/doc/project.conf.xml b/doc/project.conf.xml
index 7319325..fd86be5 100644
--- a/doc/project.conf.xml
+++ b/doc/project.conf.xml
@@ -94,8 +94,25 @@
In the default section:
+ package (mandatory): name of the project
+ version (mandatory): version of the
+ project
+ vendor: name of the vendor, as reported in the
+ generated configuration files
+ config: comma-separated list of configuration files
+ to generate, holding the project name, version and vendor (possible
+ values: h for a C header,
+ sh for a shell script,
+ ent for XML entities)
+ mode: name of the build mode to apply by default
+ (see )subdirs: subdirectories to look for
too
+ includes: header files to install, as a
+ comma-separated list; their destination defaults to
+ $(INCLUDEDIR) and may be overridden with
+ an install variable in a section named after
+ the filecppflags_force: CPPFLAGS to force
globallycppflags: optional global
@@ -108,6 +125,26 @@
globallyldflags: optional global
LDFLAGS
+ cxxflags_force: CXXFLAGS to force
+ globally
+ cxxflags: optional global
+ CXXFLAGS
+ asflags_force: ASFLAGS to force
+ globally
+ asflags: optional global
+ ASFLAGS
+ goflags_force: GOFLAGS to force
+ globally
+ goflags: optional global
+ GOFLAGS
+ jflags_force: JFLAGS to force
+ globally
+ jflags: optional global
+ JFLAGS
+ vflags_force: VFLAGS to force
+ globally
+ vflags: optional global
+ VFLAGStargets: targets to handle in the
Makefiledist: additional files to include in a
@@ -124,10 +161,31 @@
targetcflags: additional CFLAGS for this
target
+ cxxflags: additional CXXFLAGS for this
+ target
+ asflags: additional ASFLAGS for this
+ target
+ goflags: additional GOFLAGS for this
+ target
+ jflags: additional JFLAGS for this
+ target
+ vflags: additional VFLAGS for this
+ targetldflags: additional LDFLAGS for this
targetsources: source files to
compile
+ script: for targets of type
+ script, the script generating the target; it is
+ run from the directory holding the Makefile, so a script shipped with
+ the project is referred to as
+ ./script.sh
+ soname: for targets of type
+ library or plugin, the
+ soname to assign to the shared object, overriding the default name
+ and version number
+ command: for targets of type
+ command, the command to rundepends: a list of files (or other
targets) that this target depends oninstall: the destination path for
@@ -139,6 +197,38 @@
target by default
+ Sections may also be named after one of the source files listed in
+ a sources variable. Such a section applies to that file
+ only, and accepts the compiler flags relevant to its language, such as
+ cflags for a C source file, or
+ cxxflags for a C++ source file.
+ The install variable is likewise recognized in
+ sections named after a file listed in includes or
+ dist, and sets the destination path for that file.
+
+
+ Build modes
+ A build mode is a named set of variables, overriding those from the
+ default section. Modes allow a project to be built in more than one way,
+ for instance with debugging symbols during development and with
+ optimizations enabled for a release.
+ A mode is defined in a section named after it, prefixed with
+ "mode::", and may carry a title variable describing it.
+ Only the variables it defines are overridden; every other variable is
+ looked up in the default section as usual.
+ The mode to apply is given with the option to
+ configure
+ 1, or with a mode
+ variable in the default section. The command line takes precedence. If
+ neither is given, the default section is used on its own.
+ In the following example, the project is built with
+ "-O0 -g" by default, and with "-O2 -DNDEBUG"
+ when configured with "-M release":
+ cflags=-O0 -g
+
+[mode::release]
+title=Release
+cflags=-O2 -DNDEBUG
@@ -151,6 +241,9 @@
binary: produces binary files, linked
from every object file produced with their source
files.
+ command: runs the command given in the
+ command variable; no source file is
+ expected.library: produces a static and a
shared version of the target, linked from every object file produced with
their source files, and respectively appending ".a" and ".so" extensions