Bumping manifests a=b2g-bump
[gecko.git] / build / docs / build-targets.rst
blobdacd46c7f492507439f550555da53d293f0e88f7
1 .. _build_targets:
3 =============
4 Build Targets
5 =============
7 When you build with ``mach build``, there are some special targets that can be
8 built. This page attempts to document them.
10 Partial Tree Targets
11 ====================
13 The targets in this section only build part of the tree. Please note that
14 partial tree builds can be unreliable. Use at your own risk.
16 export
17    Build the *export* tier. The *export* tier builds everything that is
18    required for C/C++ compilation. It stages all header files, processes
19    IDLs, etc.
21 compile
22    Build the *compile* tier. The *compile* tier compiles all C/C++ files.
24 libs
25    Build the *libs* tier. The *libs* tier performs linking and performs
26    most build steps which aren't related to compilation.
28 tools
29    Build the *tools* tier. The *tools* tier mostly deals with supplementary
30    tools and compiled tests. It will link tools against libXUL, including
31    compiled test binaries.
33 binaries:
34    Recompiles and relinks C/C++ files. Only works after a complete normal
35    build, but allows for much faster rebuilds of C/C++ code. For performance
36    reasons, however, it skips nss, nspr, icu and ffi. This is targeted to
37    improve local developer workflow when touching C/C++ code.
39 install-manifests
40    Process install manifests. Install manifests handle the installation of
41    files into the object directory.
43    Unless ``NO_REMOVE=1`` is defined in the environment, files not accounted
44    in the install manifests will be deleted from the object directory.
46 install-tests
47    Processes the tests install manifest.
49 Common Actions
50 ==============
52 The targets in this section correspond to common build-related actions. Many
53 of the actions in this section are effectively frontends to shell scripts.
54 These actions will likely all be replaced by mach commands someday.
56 buildsymbols
57    Create a symbols archive for the current build.
59    This must be performed after a successful build.
61 check
62    Run build system tests.