pymake 编辑
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
.
Prerequisites
If running Windows, you need to have a Windows build environment installed for using pymake
to build Mozilla.
On other operating systems (Linux, OS X, etc), pymake
itself only requires Python 2.6 or higher (but not Python 3). Please note that Python 2.7 is strongly recommended.
Usage
If you use mach for everything, you don't have to worry about gmake and pymake: mach will run whatever is best for the current machine.
Note: On Windows, you must take special care to be able to switch back and forth between gmake and pymake on the same object dir. See Gmake vs. Pymake for more information.
Anywhere you would normally type make
, instead type python /path/to/srcdir/build/pymake/make.py
. For example:
- Instead of
make -f client.mk
to start a build, you would typepython build/pymake/make.py -f client.mk
. - To run tests instead of typing
make mochitest-plain
in the object directory, you would typepython ../build/pymake/make.py mochitest-plain
.
Alternately, if you would like to type in pymake -f client.mk
from within the MINGW32 shell.
- While in the shell type
cd ~
(without quotes). - Type
touch .profile
- Using any appropriate text editor open .profile and add the following line in the file (assuming your mozilla-central is at
C:/mozilla-central
, if not, adjust your path accordingly.)
alias pymake=C:/mozilla-central/build/pymake/make.py
- Save your .profile edit and close the shell, then restart the shell.
- Try typing just
pymake
into the shell and press enter. This should come back with "No makefile found." If it does, yourpymake
alias is connected and you are ready to type inpymake -f client.mk
to start the build.
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.
MOZ_OBJDIR
in your .mozconfig
, it must be a Windows-style (i.e. c:/foo/bar) rather than an MSYS-style (i.e. /c/foo/bar
) path.如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论