Red Echo

March 1, 2011

Clump is a program designed to replace makefiles. It builds C programs in what the author describes as “the most intelligent way possible”, to wit:

– Determine which C files need compiling by analyzing header include
dependencies and checking timestamps on the .o, .c, and .h files.

– Determine which C files are main programs by looking for an “int main”
declaration.

– For each main program, determine the exact set of .o files that need to
be linked together to build an executable file. It does this by tracing
the header dependencies in a recursive manner (transitive closure). […]

– Determine which system libraries need to be linked into a program
based on any system includes. For example, if a C file says
#include , then clump will know to put “-lcurses” on the
link command line. This is all configurable in the clump.ini file.