pymake

  • Revision slug: pymake
  • Revision title: pymake
  • Revision id: 10767
  • Created:
  • Creator: cgj
  • Is current revision? No
  • Comment 1 words added, 2 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.

(Temporarily, you also need to apply the patches in https://bugzilla.mozilla.org/show_bug.cgi?id=520359 to get pymake working.)

Usage

Follow the build instructions, except for the "Build and install" section. 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 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>
<p>(Temporarily, you also need to apply the patches in <a class=" link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=520359" rel="freelink">https://bugzilla.mozilla.org/show_bug.cgi?id=520359</a> to get pymake working.)</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. Switch to the root of the source directory, then run <strong>autoconf-2.13</strong>. Change to <strong>js/src</strong> and run <strong>autoconf-2.13</strong> again. Change to your objdir and run <strong>path_to_srcdir/configure</strong>. 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