MagiCBuild Configuration and Build System

MagiCBuild is a build system that provides high-level functionality for compiling a software product from source code. It is based on GNU Make and consists of a framework of makefiles.

The most important feature of MagiCBuild is that all output and intermediate files are written to an output directory tree that is totally separate from source code tree. This helps keep the source tree completely clean from trash such as object files and executables. After compilation, the executable binaries, libraries, headers, shared files, and documentation can be "installed" from the output directory to actual installation directory hierarchy.

MagiCBuild also contains a configuration tool, "configure", that can be used to automatically detect relevant features of the platform such as availability and version numbers of required software packages, output and installation directories, and machine architecture. The configuration tool is a shell script, which makes extending its functionality very easy. The basic usage of the configuration tool is compatible with GNU Autoconf, making its use easy for open source software developers.

An example of using the configuration and build system is provided in the test subdirectory of the MagiCBuild distribution package.


  • Compiling C++ applications
  • Compilation output tree separate from source tree
  • Building reference documentation with Doxygen
  • Installing and uninstalling
  • Cleaning up the output directory
  • Creation of source code distribution packages
  • Configuration tool with GNU Autoconf compatibility

Current limitations

  • No installation to system directories
  • Only GNU/Linux platform currently supported
  • Only C++ compilation currently supported with gcc
For a more complete list of limitations, see the chapter Known bugs and limitations in User's Guide.

System requirements

MagiCServer++ has the following system requirements:
  • GNU/Linux operating system
  • GNU Make 3.79.1 or newer
  • Doxygen (optional)



MagiCBuild is licensed under the GNU Lesser General Public License (LGPL). The GNU Lesser General Public License is given in file docs/COPYING.LIB.

This documentation is licensed under the GNU Free Documentation License, as presented in the Chapter 7.

Last modified: Sat Nov 1 12:53:25 EET 2003