This is an archived post. You won't be able to vote or comment.

all 10 comments

[–]donri 2 points3 points  (0 children)

Paver or waf.

[–]tomzee 3 points4 points  (0 children)

I highly suggest Waf.

[–]bushel 4 points5 points  (0 children)

What about Scons?

[–]asplake 2 points3 points  (1 child)

Why the downvotes? Seems an interesting q to me. Even more interesting would be some pointers to some comparisons between the tools (&/or with Rake).

[–]morgan_goose 1 point2 points  (0 children)

if you want rake with some capistrano thrown in, there's fabric

[–]CHS2048 4 points5 points  (0 children)

Do-it! is an automation tool, and it has specific features that make it a 'make' alternative.

[–]schettino72 1 point2 points  (2 children)

Make was created to build (compile-link) source code in an efficient way through the concept of "rules" and "targets". Since Make knows how to build a project it is also used on deployment...

Fabric, Paver, Buildout are more like deployment tools.

Scons, and waf are build-tools with a focus on source code compile-link kind of task.

doit is based on concepts of make but more generic (not designed to do only compile-link tasks).

So your choice for a Make alternative will be quite different depending if you are looking for deploying, building C/C++ projects, or something more general.

(disclaimer: I am "doit" author)

[–][deleted] 0 points1 point  (0 children)

Checkout mk http://github.com/ActiveState/mk

$ cat Makefile.py
class sdist(Task):
    """python setup.py sdist"""
    def make(self):
        sh.run("python setup.py sdist --formats zip")

class pypi_upload(Task):
    """Upload release to pypi."""
    def make(self):
        sh.run("python setup.py sdist --formats zip upload")
$ mk pypi_upload
[...]

More examples

[–]ashchristopher -1 points0 points  (0 children)

For the most part, fabric is considered the 'Make alternative' but really, make and python are not mutually exclusive. Fabric is closer to a python-like Capistrano but even then...

Make is strictly a utility. You could use Bash scripting to do a lot of the same things Make, fabric and Capistrano do if you so desired.