 |
TooliX Build Foundation
|
TooliX Build Foundation Model describes how each project build behaves. Even though the model imposes a strict set of rules/guidelines to follow, the resulting infrastructure is very flexible. The control imposed by the model is necessary for the overall clarity and repeatability of the build yet allows for the inevitable flexibility needed when running large software builds.
Some of the finer points of the model include:
- Each buildable project source directory contains a Makefile
- All actions/methods that can be applied to a project will be accessible via the projects Makefile
- A project may build zero or more source files of the same type (C, ANSI-C, C++, Java, etc)
- A source file may be built by one and only one project
- Each project/Makefile will contain a list of dependencies
- A project may build up to one and only one static library
- A project may build up to one and only one dynamic/shared library (DLL, .so)
- A project may build up to one and only one executable
- A project may call zero to N "children" sub-projects to build
- A project may call zero to N "sibling" sub-projects to build
- Populating/installs are done via each project's Makefile
- Developers will use the same build process Makefiles as the build
- Developers/build-engineers will maintain the Makefiles
- Developers will update Makefiles for project source as well as object to library relationships
- One build process for both Linux/UNIX and Windows platforms - fully heterogenous
|