13.6. Build Options

These options tell abuild what to build and what targets to apply to items being built.

--apply-targets-to-deps

Ordinarily, any explicitly specified targets are applied only to items that were directly selected for inclusion in the build set. With this flag, they are applied to all items being built, including recursively expanded dependencies. When used with a clean set, this option causes the clean set to expanded to include dependencies, which is otherwise not done. For detailed information about target selection, please see Chapter 9, Telling Abuild What to Build.

--build=set | -b set

Specify which build items should be built. The default is to use the build set current, which builds the current item and all of its dependencies. For additional details including a list of valid values for set, see Chapter 9, Telling Abuild What to Build.

--clean=set | -c set

Run abuild clean in all items in the build set. The same build sets are defined as with the --build option. Unlike build sets, clean sets are not expanded to include dependencies (unless --apply-targets-to-deps is specified), and build items are not cleaned in dependency order. No targets may be specified in conjunction with this option. For additional details including a list of valid values for set, see Chapter 9, Telling Abuild What to Build. See also the description of the --clean-platforms (in Section 13.4, “Control Options”) to learn about restricting which platform directories are removed.

--dump-interfaces

Cause abuild to create interface dump files in the output directories of every writable build item, including those that don't build anything. This option can be useful for tracking down problems with interface variables. For more information, see Section 17.6, “Debugging Interface Issues”.

--no-deps

Prevent abuild from attempting to build any dependencies of the current build item before building the item itself. The --no-deps option may not be combined with a build set.

--only-with-traits=trait[,trait,...]

Exclude from the initial build set any items that do not contain all of the named traits. As always, all dependencies of any item in the reduced build set will remain in the build set regardless of what traits they have. If not accompanied by the --related-by-traits option, any explicitly named targets will be applied only to items that have all of the named traits. Other items (those they depend on) will be built with the default all target. If accompanied by the --related-by-traits option, the --related-by-traits option's behavior with respect to explicit targets takes precedence. For more information about traits, see Section 9.5, “Traits”.

--related-by-traits=trait[,trait,...]

Expand the build set with items that have all of the named traits relative to any item already in the build set. Specifying this option also causes any explicitly specified targets to be run only for those items. The default target all is run for all other build items in the build set. For more information about traits, see Section 9.5, “Traits”. When combined with --repeat-expansion, this process is repeated until no more items are added.

--repeat-expansion

Instruct abuild to apply build set expansion based on traits (--related-by-traits) or or reverse dependencies (--with-rdeps) repeatedly after adding dependencies of newly added items until no further expansion of the build set results.

--with-rdeps

Expand the build set by adding all reverse dependencies of any item already in the build set. As always, any additional dependencies of newly added items are also added. When specified with --repeat-expansion, addition of reverse dependencies is repeated (after adding additional dependencies) until no further expansion of the build set results.