mozilla

Revision 10770 of pymake

  • Revision slug: pymake
  • Revision title: pymake
  • Revision id: 10770
  • Created:
  • Creator: cgj
  • Is current revision? No
  • Comment 31 words removed

Revision Content

make.py (and the pymake modules that support it) are an implementation of the make tool which are mostly compatible with makefiles written for GNU make. http://benjamin.smedbergs.us/pymake/

Prerequisites

You need to have have MozillaBuild installed.  Additionally, you need to ensure your mingw shell is instructed to |export SHELL| (exactly that) before you try to run pymake.

Usage

Follow the build instructions, except for the "Build and install" section, then:

  • Switch to the root of the source directory, then run autoconf-2.13.
  • Change to js/src and run autoconf-2.13 again.
  • Change to nsprpub/ and run autoconf-2.13 again.
  • Create your objdir.
  • Finally, change to your objdir and run path_to_srcdir/configure.

Running python -O path_to_srcdir/build/pymake/make.py starts the build. If you hadn't specified mk_add_options MOZ_MAKE_FLAGS in your mozconfig, you can simply append the flags to the aforementioned Python command, e.g. -j2 runs two make jobs in parallel. Using a -j value equal to the number of CPU cores visible to the OS is recommended.

After updating your source, it's a good idea to redo the autoconf-2.13 and configure steps before building, whether it be an incremental or full build.

Revision Source

<p>make.py (and the pymake modules that support it) are an implementation of the make tool which are mostly compatible with makefiles written for GNU make. <a class=" external" href="http://benjamin.smedbergs.us/pymake/" title="http://benjamin.smedbergs.us/pymake/">http://benjamin.smedbergs.us/pymake/</a></p>
<h3>Prerequisites</h3>
<p>You need to have have MozillaBuild installed.  Additionally, you need to ensure your mingw shell is instructed to |export SHELL| (exactly that) before you try to run pymake.</p><h3>Usage</h3>
<p>Follow the <a href="/En/Developer_Guide/Build_Instructions" title="En/Developer Guide/Build Instructions">build instructions</a>, except for the "Build and install" section, then:</p>
<ul> <li>Switch to the root of the source directory, then run <strong>autoconf-2.13</strong>.</li> <li>Change to <strong>js/src</strong> and run <strong>autoconf-2.13</strong> again.</li> <li>Change to <strong>nsprpub/</strong> and run <strong>autoconf-2.13</strong> again.</li> <li>Create your objdir.</li> <li>Finally, change to your <strong>objdir</strong> and run <strong>path_to_srcdir/configure</strong>.</li>
</ul>
<p>Running <strong>python -O path_to_srcdir/buil</strong><strong>d/pymake/make.py</strong> starts the build. If you hadn't specified <strong>mk_add_options MOZ_MAKE_FLAGS</strong> in your <a href="/en/Configuring_Build_Options" title="en/Configuring Build Options">mozconfig</a>, you can simply append the flags to the aforementioned Python command, e.g. <strong>-j2</strong> runs two make jobs in parallel. Using a <strong>-j</strong> value equal to the number of CPU cores visible to the OS is recommended.</p>
<p>After <a href="/En/Developer_Guide/Build_Instructions#Get_the_source" title="En/Developer Guide/Build Instructions#Get the source">updating your source</a>, it's a good idea to redo the <strong>autoconf-2.13</strong> and <strong>configur</strong><strong>e</strong> steps before building, whether it be an <a href="/en/Incremental_Build" title="en/Incremental Build">incremental</a> or full build.</p>
Revert to this revision