[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ A ] [ B ] [ next ]
ccbuild
- A strict developer's build utility
To know how to work with ccbuild
is of course the most important
thing (if you want to). So here is a quick and simple review of what it does.
We will now consider what happens when ccbuild
is called without
any arguments.
First ccbuild
will find all source files in the current directory
(using the list of source extensions to find them.) All these files are scanned
which gives an in memory list of include statements and whether it has a main
function.
If it has a main function, it is a binary target: ccbuild
will try
to make a program from this.
To find all the object files that need to be linked to the main program,
ccbuild
will follow all local include statements (warning if any
fail). Then it will scan all files in the same directory as the included
files. If they are object targets (don't have a int main
function) they will be compiled and linked to the main program.
The arguments needed to compile an object are gathered by the global includes. Using the ccResolutions file, for every global include the arguments are added.
The needed linker arguments (which would create the "not linking now" warning) are identified and kept back for later use when the program is actually linked. If anything goes wrong here, please mail me and hack the file src/Compiler/countFirstLinkerArguments.cc for the meantime. This file contains two simple lists for for options with and options without arguments.
[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ A ] [ B ] [ next ]
ccbuild
- A strict developer's build utility