The project I'm working on inherited some code that uses Cons
instead of Make
(not to confused with SCons
in Greg Hewgill's answer).
Cons
is written in Perl, much like SCons
is written in Python. It manages dependencies automatically, and you can use any Perl code inside the build script to handle complex build sequences.
The main disadvantage (and the main reason I'm sorry my project uses it) is that Cons
doesn't do parallel builds in the style of make -j
. If you're compiling a number of files that don't depend on each other Cons
will compile them one at a time, while make -j
will compile them in parallel, which is great if you have multiple cores and threads on your machine.