Build Environments for Large Software Systems
A survey paper on the development of build environments, from
the simple to the very complex. Start with the simple and then
increase the complexity until the next level of structure is
necessary, to show both motivation and the resulting process.
-
1. Simple compile
-
2. Several files, linking, special options -- make
-
3. Related programs, libraries -- tree structured directory,
hierarchy of make files.
-
4. Maintenance of consistent makefiles -- "verbs" all, build, install, clean
-
5. Automatic generation of makefiles, imake, mkmf. Declarative vs. procedural.
-
6. Portability across platforms
-
7. Separation of source from objects, multiple simultaneous platforms.
-
8. Backing trees, sandboxes.
-
Source control systems.