ccbuild: A strict developer's build utility
by A. Bram Neijt <firstname.lastname@example.org>
See INSTALL for installation instructions.
Thank you for downloading
All documentation can be found in the doc directory. If you want to hack ccbuild, don't forget to run
You can also use the online versions of these documents via the homepage, most easily found using http://www.logfish.net/pr/ccbuild/
The program is meant to be run in the same directory as your main program resides.
For ccbuild self, this is the src directory.
The default behaviour of ccbuild is to find any sourcefile containing an
int main function and start compiling it.
If the manual is not installed, use:
ccbuild -h for an overview of the possible options.
./src The main source tree of ccbuild ./doc Documentation ./tools Currently contains only a one-liner to run dot on .dot files. ./test A collection of class testing programs, not really usefull.
Examples of use
- Compile for debugging and development:
- When recompiling for benchmark (force recompile, use
ccbuild -f --args -O3
- Generate a
Makefilefor a friend developer, who hasn't got
ccbuild makefile > Makefile
- Look at the dependencies for you program(s):
- Graph the dependencies:
ccbuild dot; dotty *.dot
- Clean up the generated
.ofiles for all local programs:
- Remove all
.gchfiles, before making a backup or release:
DON'T DO THIS WHEN USING CCBUILD
These are very obvious, but just to overcome any problems that might occur.
The following is a list of things you shouldn't do when using ccbuild:
- Place important documents or sources in the directory called
o. This directory will be removed without warning when calling
- Don't mix extensions for files with the same basename. So don't place
a file called "main.cc" in the same directory as "main.cpp" because the
object files in the
odirectory won't be seperated.
- Don't expect any warrenty of any kind (read the license).
Hacking the code, possible start-up problems
ccbuild development requires
ccbuild to generate basic
build files for
autotools. For source releases this has
been done using
bootstrap. If you do not have a
release working yet, you can use
make -f Makefile.ccbuild src/ccbuild
to build ccbuild using a generated Makefile.
Another option is using
cmake which is used in the Travis-CI build.
Flex scanner may need to be generated, use:
rm src/sourceScanner/yylex.cc; make -f Makefile.human src/sourceScanner/yylex.cc
Use this if the compiler complains about something with
If the compiler complains about
FFB::Processconstructor called incorrectly, make sure you have
libbobcat 2.02.03or higher.