pymake A mostly GNU-compatible python implementation of `make`

Author: Benjamin Smedberg

Download Now

Latest souces
Whatever I happen to have pushed last. Might be stable, if you're lucky.
Code repository
For browsing, and also for pulling using Mercurial.
Note: not tested on Windows

About

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.

Purpose

The Mozilla project inspired this tool with several goals:

Known Incompatibilities

Issues

Future Work

Currently, the parser emits data directly to the makefile data model, evaluating ifdefs and other directives during parsing. I'd like to experiment with creating a "parse model" independent of the actual variables: this would allow the results of parsing to be cached (perhaps solving the parse performance issue).

I'd like to be able to run multiple "makes" within the same process, so that recursion did not require launching a new make process. This could also use the parsing cache mentioned above to avoid reparsing.

I'd like to implement a new type of command which is implemented in python. This would allow us to replace the current `nsinstall` binary (and execution costs for the shell and binary) with an in-process python solution.

Author

Initial code was written by Benjamin Smedberg.

License

MIT license. See the LICENSE file.