cm is a build management tool similar in spirit to
make. It features a clear, powerful language,
separate macro and variable namespaces,
user-defined procedures, support for multiple
build modes and multi-pass builds over complex
directory hierarchies, while providing useful
abstractions to support compilation on multiple
operating systems.