cm Compilation Manager is a new tool for build automation and compilation management. cm Compilation Manager addresses a number of shortcomings I see in make.
Here are some key features of "cm Compilation Manager":
· A clean syntax based on a context-free language description
· Whitespace insensitivity
· Distinct macros and variables
· Separate procedure and production namespaces
· Many native programming constructs such as foreach loops for easy iteration, and more powerful tools such as anonymous functions with static scoping.
· Built-in support for recursive directory handling without additional invocations of 'cm'.
· An intelligent, automatic configuration file generator
· Pre-generated functions for handling common build tasks in a platform-independent manner
· Support for multiple build configurations and multi-pass builds over complicated directory hierarchies
Installation instructions:
Download cm, classib, and gc.
Install the garbage collector per the included instructions. (Basically ./configure; make; sudo make install.) When running configure, you will need to pass it the parameters: --prefix=/usr/lib --with-threads=posix.
Unzip classlib (tar vzxf classlib.tar.gz).
Configure classlib's Makefile with any paths you need to modify.
Build and install classlib with make && sudo make install.
Unzip cm (tar vzxf cm.tar.gz).
Build and install cm with make && sudo make install.
Configure cm by executing: cd /usr/local/etc && sudo cminit
To verify your cm installation, you can rebuild it with the included Cmrules files by typing cm @clean && cm -m opt in the same directory you built cm in with make.
What's New in This Release:
· The license was changed to the GPL.
· This release includes a dynamic module/plugin system and two initial plugin modules.
· It supports non-root installation, additional command line options, and caches parsed files for quick retrieval during multi-pass builds.
· Several bugfixes are also included.
Product's homepage