project.mk - one-makefile build system (c) 2009 - 2011 Tom Schouten The build system uses the following principles: * One (1!) makefile to build everything. This means that all dependencies are expressed in a single place, and no recursive calls to make itself are necessary or even possible. * Modular: while there is only a single makefile, it is possible to have per-directory modules. Module variables all start with "m" - provided by user in module.mk $(m_target) module's build target (library or executable) $(m_obj) list of binary objects that will be collected in the final target - usable in module.mk, provided by system $(m_name) module name (relative directory to project.mk) $(m_src) module's source directory $(m_build) module's build directory