cm

"cm" is a new tool for build automation and compilation management. It addresses a number of shortcomings I see in make.

Features:

Licensing

cm is released as open-source software under the GNU GPL license, version 2. You are free to use and modify cm as you see fit, so long as attribution and the original copyright notice are maintained. Only unmodified versions, however, may be properly called "cm".

Disclaimer

This is Free Software -- there is no warranty, expressed or implied. What you do with this software is AT YOUR OWN RISK. Furthermore, this is an early release of cm and is considered BETA SOFTWARE (at best) -- if it contains bugs, I will try to fix them, but no promises on speed, accuracy, etc. That having been said, I use cm to build all of my projects, and so far have not encountered any problems.

Downloading

You can download cm from this website. It requires an additional library of classes named classlib, also available here, and the Boehm garbage collection library, a free garbage collector for C/C++. Future versions may eliminate their dependency on the garbage collector. Note that the garbage collector requires the libc6 version of LinuxThreads. MIT pthreads and older implementations may not work correctly. (cm uses multithreading for parallel compilation; if you do not use the -j option, this will not be a problem.)

Installation instructions:

Classlib and cm do not support an autoconf-guided build. If you install to your own home directory, you do not need to sudo the installation. It's on the list...

Documentation is included in the docs/ subdirectory; the file manual.ps contains a thorough introduction to cm. Good luck!

Feedback, suggestions, improvements (patches and the like) can be sent to Aaron Kimball: ak at cs dot washington dot edu.