pymake

  • Revision slug: pymake
  • Revision title: pymake
  • Revision id: 10800
  • Created:
  • Creator: edmorley
  • Is current revision? No
  • Comment Add note about windows vs MSYS style MOZ_OBJDIR, a la bug 707512; 42 words added

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 a Windows build environment installed for using pymake to build Mozilla.  Pymake itself only requires Python 2.6 or higher (but not Python 3).

Usage

Anywhere you would normally type 'make', instead type 'python -OO /path/to/srcdir/build/pymake/make.py'.  For example:

  • Instead of 'make -f client.mk' to start a build, you would type 'python -OO build/pymake/make.py -f client.mk'.
  • To run tests instead of typing 'make mochitest-plain' in the object directory, you would type 'python -OO ../build/pymake/make.py mochitest-plain'.

Unlike gmake on Windows, pymake is capable of doing parallel builds, so you can set a MOZ_MAKE_FLAGS=-jN in your mozconfig without risk of deadlocks.

Note: If using an absolute path MOZ_OBJDIR in your .mozconfig, it must be a Windows-style (c:/foo/bar) rather than an MSYS-style (/c/foo/bar) path.

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 <a href="/En/Developer_Guide/Build_Instructions/Windows_Prerequisites" title="Windows build prerequisites">a Windows build environment</a> installed for using pymake to build Mozilla.  Pymake itself only requires Python 2.6 or higher (but not Python 3).</p>
<h3>Usage</h3>
<p>Anywhere you would normally type 'make', instead type 'python -OO /path/to/srcdir/build/pymake/make.py'.  For example:</p>
<ul> <li>Instead of 'make -f client.mk' to start a build, you would type 'python -OO build/pymake/make.py -f client.mk'.</li> <li>To run tests instead of typing 'make mochitest-plain' in the object directory, you would type 'python -OO ../build/pymake/make.py mochitest-plain'.</li>
</ul>
<p>Unlike gmake on Windows, pymake is capable of doing parallel builds, so you can set a MOZ_MAKE_FLAGS=-jN in your mozconfig without risk of deadlocks.</p>
<p>Note: If using an absolute path MOZ_OBJDIR in your .mozconfig, it must be a Windows-style (c:/foo/bar) rather than an MSYS-style (/c/foo/bar) path.</p>
Revert to this revision