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/
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.
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.
- 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. Add -j2 to the command line to do a parallel build (MOZ_MAKE_FLAGS in your mozconfig is not used by pymake). Using a -j value equal to the number of CPU cores visible to the OS is recommended. Warning: on Windows, path_to_srcdir must be a relative path, or pymake (and/or the configure step above, depending on the format of your paths and whether you used --srcdir with configure) will fail. In particular, using pymake with the object files on a different drive to the source files is currently not supported.
Note that you should run configure from your objdir using a relative path (eg "../configure") or using a full DOS-style path (eg "e:/builds/mozilla-central/configure"). The latter will fail in NSPR until bug 524785 is fixed. In the meantime, if you want to have your srcdir and objdir on different drives, you might be able to use a NTFS symlink or junction to glue things together so that you can invoke configure with a relative path. See also, bug 524785.