build-targets.rst 1.9 KB

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