MAKEFILE.txt 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. Description of makefile rules
  2. =============================
  3. torbrowser-release
  4. ------------------
  5. Build Tor Browser for the release channel, for all supported platforms.
  6. The resulting build can be found in directory torbrowser/release/$version.
  7. torbrowser-release-{linux-x86_64,linux-i686,windows-i686,macos,
  8. android-armv7, android-x86,android-x86_64,
  9. android-aarch64,desktop,android}
  10. --------------------------------------------------------------------
  11. Same as torbrowser-release, for the selected platform only. The "desktop"
  12. platform means Linux, Windows and macOS. The "android" platform means
  13. android for all architectures we support.
  14. torbrowser-alpha
  15. ----------------
  16. Build Tor Browser for the alpha channel, for all supported platforms.
  17. The resulting build can be found in directory torbrowser/alpha/$version.
  18. torbrowser-alpha-{linux-x86_64,linux-i686,windows-i686,macos,
  19. android-armv7,android-x86,android-x86_64,
  20. android-aarch64,desktop,android}
  21. ------------------------------------------------------------------
  22. Same as torbrowser-alpha, for the selected platform only.
  23. torbrowser-nightly
  24. ------------------
  25. Build Tor Browser for the nightly channel, for all supported platforms.
  26. Many of the components will be based on the main branch. You might
  27. want to run "make fetch" before, to fetch the latest commits from all
  28. components.
  29. The resulting build can be found in directory torbrowser/nightly/$date
  30. torbrowser-nightly-{linux-x86_64,linux-i686,windows-i686,macos,
  31. android-armv7,android-x86,android-x86_64,
  32. android-aarch64,desktop,android}
  33. --------------------------------------------------------------------
  34. Same as torbrowser-nightly, for the selected platform only.
  35. torbrowser-testbuild
  36. --------------------
  37. Build a Tor Browser test build. To make the build faster, only the en-US
  38. locale is created, without mar files, and without the source tarballs.
  39. By default it is based on the alpha channel, but you can change that by
  40. editing rbm.local.conf. The resulting build can be found in directory
  41. testbuild.
  42. torbrowser-testbuild-{linux-x86_64,linux-i686,windows-i686,macos,
  43. android-armv7,android-x86,android-x86_64,
  44. android-aarch64,desktop,android}
  45. -----------------------------------------------------------------
  46. Same as torbrowser-testbuild, for the selected platform only.
  47. torbrowser-testbuild-macos-{x86_64,aarch64}
  48. -------------------------------------------
  49. By default, macos builds are universal (targeting x86_64 and aarch64).
  50. With this special testbuild target, you can do a build for a specific
  51. arch only.
  52. torbrowser-{release,alpha,nightly,testbuild}-linux-x86_64-asan
  53. --------------------------------------------------------------
  54. Create a build for Linux x86_64 with Address Sanitizer enabled.
  55. torbrowser-{release,alpha,nightly,testbuild}-src
  56. ------------------------------------------------
  57. Create source tarballs for firefox and torbutton.
  58. basebrowser-*
  59. -------------
  60. The same rules for building Tor Browser also exist for building
  61. Base Browser.
  62. privacybrowser-*
  63. ----------------
  64. The same rules for building Tor Browser also exist for building
  65. Privacy Browser.
  66. fetch
  67. -----
  68. Fetch new commits from all components. This is useful when you want to
  69. build the nightly channel.
  70. clean
  71. -----
  72. Clean files created during previous builds that are no longer used in
  73. current builds. Before using this command, you first need to configure
  74. in rbm.local.conf the channel(s) that you are building.
  75. In other software, the clean rule is used to remove all build files,
  76. but this is not the case here, where only obsolete build files are
  77. removed. It is usually not necessary to remove all build files before
  78. starting a new build as the need for rebuilding components is detected
  79. automatically. If you want to remove all build files, you can remove
  80. the out/ directory.
  81. clean-dry-run
  82. -------------
  83. Print the files that would be removed when running 'make clean'.
  84. signtag-{release,alpha}
  85. -----------------------
  86. Create a git signed tag for the selected channel, using the version and
  87. build number defined as var/torbrowser_version and var/torbrowser_build.
  88. incrementals-{release,alpha}
  89. ----------------------------
  90. Create incremental mar files for an unsigned build in the release or
  91. alpha channel. The list of versions we create incrementals from is
  92. defined as var/torbrowser_incremental_from in rbm.conf.
  93. incrementals-nightly
  94. --------------------
  95. Create incremental mar files for the current nightly build. The number
  96. of previous versions we should generate incremental mars from is defined
  97. as var/max_torbrowser_incremental_from in rbm.conf.
  98. If you want to create incremental mars for a version that is not the
  99. current one, you can define the environment variable
  100. TORBROWSER_NIGHTLY_VERSION to the version you want to generate
  101. incremental mars for.
  102. dmg2mar-{release,alpha)
  103. -----------------------
  104. Generate updated mar files for the OSX bundles, from the dmg files, then
  105. regenerate the OSX incremental mar files. You should run this after
  106. signing the OSX dmg files.
  107. update_responses-{release,alpha}
  108. --------------------------------
  109. Create update responses xml files for a signed build in the release or
  110. alpha channel. The files can be found in a tar in the directory
  111. {release,alpha}/update-responses.