Chapter 41. Building Software with Cons

Bob Sidebotham


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.

Make Doesn’t Do the Right Thing

Perhaps the most egregious aspect of make is the make language itself. In fairness, ...

Get Computer Science & Perl Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.