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.