Since this article was written, Cons has grown up considerably. It’s now been GPL’d, and the copyright transferred to the Free Software Foundation. An energetic community has contributed many useful enhancements; Rajesh Vaidheeswarran and Steven Knight deserve special thanks for all the excellent work that they’ve put into maintaining, enhancing, and improving so many aspects of Cons. Steve’s Cons derivative, Sc-cons, won the Software Carpentry design competition’s Build category, and is now in active development over on SourceForge (as Scons). Despite the changes, the description of Cons in this article is still sound. Please note, however, that there may be minor differences in the signature handling in the current version of Cons.
Understandably, many Perl programmers don’t like having to program in low-level languages like C and C++. Writing the Makefiles necessary to compile and install those programs with the Unix
make utility is even more irritating. Worse still is being saddled with maintaining someone else’s Makefiles.
You might have reached an uneasy truce with
make, and you might even have doubts about the statements above. Reading this article will likely shatter your illusions. You have been warned! In this article I introduce Cons, a Perl alternative to
make. First, I’ll explain why it’s necessary.
Perhaps the most egregious aspect of
make is the
make language itself. In fairness, ...