|
1 .. _build_targets: |
|
2 |
|
3 ============= |
|
4 Build Targets |
|
5 ============= |
|
6 |
|
7 When you build with ``mach build``, there are some special targets that can be |
|
8 built. This page attempts to document them. |
|
9 |
|
10 Partial Tree Targets |
|
11 ==================== |
|
12 |
|
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. |
|
15 |
|
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. |
|
20 |
|
21 compile |
|
22 Build the *compile* tier. The *compile* tier compiles all C/C++ files. |
|
23 Only applies to builds with ``MOZ_PSEUDO_DERECURSE``. |
|
24 |
|
25 libs |
|
26 Build the *libs* tier. The *libs* tier performs linking and performs |
|
27 most build steps which aren't related to compilation. |
|
28 |
|
29 tools |
|
30 Build the *tools* tier. The *tools* tier mostly deals with supplementary |
|
31 tools and compiled tests. It will link tools against libXUL, including |
|
32 compiled test binaries. |
|
33 |
|
34 binaries: |
|
35 Recompiles and relinks C/C++ files. Only works after a complete normal |
|
36 build, but allows for much faster rebuilds of C/C++ code. For performance |
|
37 reasons, however, it skips nss, nspr, icu and ffi. This is targeted to |
|
38 improve local developer workflow when touching C/C++ code. |
|
39 Only applies to builds with ``MOZ_PSEUDO_DERECURSE``. |
|
40 |
|
41 install-manifests |
|
42 Process install manifests. Install manifests handle the installation of |
|
43 files into the object directory. |
|
44 |
|
45 Unless ``NO_REMOVE=1`` is defined in the environment, files not accounted |
|
46 in the install manifests will be deleted from the object directory. |
|
47 |
|
48 install-tests |
|
49 Processes the tests install manifest. |
|
50 |
|
51 Common Actions |
|
52 ============== |
|
53 |
|
54 The targets in this section correspond to common build-related actions. Many |
|
55 of the actions in this section are effectively frontends to shell scripts. |
|
56 These actions will likely all be replaced by mach commands someday. |
|
57 |
|
58 buildsymbols |
|
59 Create a symbols archive for the current build. |
|
60 |
|
61 This must be performed after a successful build. |
|
62 |
|
63 check |
|
64 Run build system tests. |