7 When you build with ``mach build``, there are some special targets that can be
8 built. This page attempts to document them.
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.
17 Build the *export* tier. The *export* tier builds everything that is
18 required for C/C++ compilation. It stages all header files, processes
22 Build the *compile* tier. The *compile* tier compiles all C/C++ files.
25 Build the *libs* tier. The *libs* tier performs linking and performs
26 most build steps which aren't related to compilation.
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.
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.
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.
47 Processes the tests install manifest.
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.
57 Create a symbols archive for the current build.
59 This must be performed after a successful build.
62 Run build system tests.