DIST

  • Revision slug: DIST
  • Revision title: DIST
  • Revision id: 193913
  • Created:
  • Creator: Nickolay
  • Is current revision? No
  • Comment sentence caps

Revision Content

DIST is a makefile variable specifying the base directory within which the intermediate and fully-compiled results of a Mozilla source code compilation are created. (Note that this is not the same as the directory where the entire results of a build are stored, i.e. MOZ_OBJDIR -- it's a subdirectory of that directory.)

Set by

Tree makefiles set DIST after including autoconf.mk but before including config.mk or rules.mk.

Example

You often won't need to directly use DIST, as the build system usually has abstractions which use it for you without requiring you to know about them. However, if in the process of compilation you must create temporary files, you probably want to store them within a directory in DIST. One common example is when your code is compiled into several static libraries, which are later assembled into one larger library. In this case the Makefile used to compile the larger library will need to specify SHARED_LIBRARY_LIBS, which is a list of paths to the libraries to compile into the larger library. In this case the path to each library would be of the form:

$(DIST)/lib/$(LIB_PREFIX)gklibname_s.$(LIB_SUFFIX)

where libname would specify the name of each static library you wanted to compile into the larger library.

See also

Revision Source

<p><code>DIST</code> is a makefile variable specifying the base directory within which the intermediate and fully-compiled results of a Mozilla source code compilation are created. (Note that this is not the same as the directory where the <i>entire</i> results of a build are stored, i.e. <code><a href="en/MOZ_OBJDIR">MOZ_OBJDIR</a></code> -- it's a subdirectory of that directory.)
</p>
<h3 id="Set_by" name="Set_by"> Set by </h3>
<p>Tree makefiles set <code>DIST</code> after including <code><a href="en/Autoconf.mk">autoconf.mk</a></code> but before including <code><a href="en/Config.mk">config.mk</a></code> or <code><a href="en/Rules.mk">rules.mk</a></code>.
</p>
<h3 id="Example" name="Example"> Example </h3>
<p>You often won't need to directly use <code>DIST</code>, as the build system usually has abstractions which use it for you without requiring you to know about them. However, if in the process of compilation you must create temporary files, you probably want to store them within a directory in <code>DIST</code>. One common example is when your code is compiled into several static libraries, which are later assembled into one larger library. In this case the Makefile used to compile the larger library will need to specify <code><a href="en/SHARED_LIBRARY_LIBS">SHARED_LIBRARY_LIBS</a></code>, which is a list of paths to the libraries to compile into the larger library. In this case the path to each library would be of the form:
</p>
<pre class="eval">$(DIST)/lib/$(<a href="en/LIB_PREFIX">LIB_PREFIX</a>)gk<i>libname</i>_s.$(<a href="en/LIB_SUFFIX">LIB_SUFFIX</a>)
</pre>
<p>where <i>libname</i> would specify the name of each static library you wanted to compile into the larger library.
</p>
<h3 id="See_also" name="See_also"> See also </h3>
<ul><li> <a href="en/MOZ_OBJDIR">MOZ_OBJDIR</a>
</li></ul>
Revert to this revision