Projects / ccbuild


ccbuild is like a dynamic Makefile. ccbuild finds all programs in the current directory (containing "int main") and builds them. For this, it reads the C++ sources and looks at all local and global includes. All C++ files surrounding local includes are considered objects for the main program. The global includes lead to extra compiler arguments using a configuration file. ccbuild splits these arguments for compilation and linking, keeping the linking arguments back for later use. It should allow development without any scripting and only simple reusable configuration. Deployment and distribution should still be done with other tools. It can create simple Makefiles, A-A-P files, and graph dependencies using DOT (graphviz) graphs.

Operating Systems

Recent releases

  •  29 Nov 2009 00:09

    Release Notes: This release adds multi-threading support using OpenMP, and uses a single top-level o directory instead of an object cache per subdirectory. The output of various commands has changed in accordance with these changes, which pushed this release into the major versioning.

    •  11 May 2007 22:01

      Release Notes: This release was made to fix all open bugs. It will no longer have problems loading the ~/.ccbuild/ccResolutions file and will link all targets after the first has to be linked. The major improvement for this release is the addition of autotools build scripts, which will hopefully help with getting ccbuild packaged in more distributions.

      •  10 Nov 2006 18:38

        Release Notes: This release fixes a bug in handling '../../' paths, and increases the speed of the distclean command. Distclean now also removes .rpo files, although using -frepo is not fully supported and may need --md5 to function more properly.

        •  06 Dec 2005 10:30

          Release Notes: Because intermediate archiving was broken, it was made an experimental option rather than a default. The loop can now be closed using q and archiving is only performed when there are multiple objects.

          •  20 Nov 2005 05:23

            Release Notes: Some XML output options have been added, although only the check command can produce it. All objects, except the main program, are now archived before linking, which makes for smaller binaries.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.