diff --git a/v2/doc/src/advanced.xml b/v2/doc/src/advanced.xml index b6377858c..0e1e49961 100644 --- a/v2/doc/src/advanced.xml +++ b/v2/doc/src/advanced.xml @@ -543,7 +543,7 @@ bjam optimization=space entity that can be built, for example an executable file. Declaring a main target is usually done using one of the main target rules described in . The user can also declare + "bbv2.reference.target-rules"/>. The user can also declare custom main target rules as shown in . @@ -603,7 +603,7 @@ rule rule-name ( default-build is the list of properties that will be used unless some other value of the same feature is already - specified, e.g. on the command line or by propogation from a dependent target. + specified, e.g. on the command line or by propagation from a dependent target. @@ -617,8 +617,8 @@ rule rule-name ( - Some main target rules have a different list of parameters, their - documentation explicitly says so. + Some main target rules have a different list of parameters as explicitly + stated in their documentation. The actual requirements for a target are obtained by refining @@ -637,7 +637,8 @@ rule rule-name ( prefixes. - Name of main target can contain alphanumeral characters, dash, undescore and dot. The entire + THe name of a main target can contain alphanumeral characters, + dashes, undescores and dots. The entire name is significant when resolving references from other targets. For determining filenames, only the part before the first dot is taken. For example: @@ -676,9 +677,9 @@ exe b : [ glob *.cpp ] ; # all .cpp files in this directory are sources Targets in the same project can be referred to by name, while targets in other projects must be qualified with a directory or a symbolic project name. The directory/project name is separated from - the target name by double slash. There's no special syntax to - distinguish directory name from project name—the part before - double slash is first looked up as project name, and then as directory + the target name by a double forward slash. There's no special syntax to + distinguish the directory name from the project name—the part before + the double slash is first looked up as project name, and then as directory name. For example: lib helper : helper.cpp ; @@ -745,7 +746,8 @@ lib network : network.cpp - More powerfull variant of conditional requirements is indirect conditional requiremens. + A more powerful variant of conditional requirements + is indirect conditional requirements. You can provide a rule that will be called with the current build properties and can compute additional properties to be added. For example: @@ -769,11 +771,11 @@ rule my-rule ( properties * ) Requirements explicitly specified for a target are usually combined with the requirements specified for the containing project. You can cause a target to completely ignore specific project's requirement - using the syntax by adding minus sign before a property, for example: + using the syntax by adding a minus sign before a property, for example: exe main : main.cpp : -<define>UNNECESSARY_DEFINE ; - This syntax is the only way to ignore free properties from parent, + This syntax is the only way to ignore free properties from a parent, such as defines. It can be also useful for ordinary properties. Consider this example: @@ -791,7 +793,7 @@ exe test3 : test3.cpp : -<threading;>multi ; multi-threaded mode depending on which variant is requested by the user. - Note that removing of requirements is completely textual: + Note that the removal of requirements is completely textual: you need to specify exactly the same property to remove it. @@ -805,10 +807,10 @@ exe test3 : test3.cpp : -<threading;>multi ; exe hello : hello.cpp : : <threading>multi ; - would build a multi-threaded target in unless the user + would build a multi-threaded target unless the user explicitly requests a single-threaded version. The difference between requirements and default-build is that requirements cannot be - overriden in any way. + overridden in any way. diff --git a/v2/doc/src/reference.xml b/v2/doc/src/reference.xml index d3c6796f6..3d9e79522 100644 --- a/v2/doc/src/reference.xml +++ b/v2/doc/src/reference.xml @@ -228,6 +228,60 @@ target1 debug gcc/runtime-link=dynamic,static +
+ Builtin targets + + This section contains the list of all target types defined + in Boost.Build. + + + + exe + + Creates an executable file. See + . + + + + lib + + Creates an library file. See + . + + + + install + + Installs built targets and other files. See + . + + + + alias + + Creates an alias for other targets. See + . + + + + unit-test + + Creates an executable that will be automatically run. See + . + + + + obj + + Creates an object file. Useful when a single source + file must be compiled with special properties. + + + + +
+ +
Jamfile Utility Rules diff --git a/v2/doc/src/tasks.xml b/v2/doc/src/tasks.xml index 5189e277a..9932b35c2 100644 --- a/v2/doc/src/tasks.xml +++ b/v2/doc/src/tasks.xml @@ -15,7 +15,7 @@ linkend="bbv2.main-target-rule-syntax"/>. -
+
Programs Builtin @@ -52,7 +52,7 @@ exe hello : hello.cpp some_library.lib /some_project//library
-
+
Libraries Libraries are created using the lib rule, which @@ -190,7 +190,7 @@ lib a : a.cpp : <use>b : : <library>b ;
-
+
Alias @@ -238,7 +238,7 @@ exe main : main.cpp lib_alias ;
-
+
Installing This section describes various ways to install built target