[ << Build system notes ] | [Top][Contents][Index][ ? ] | [ Modifying the Emmentaler font >> ] | ||
[ < Build system notes ] | [ Up : Build system notes ] | [ Tips for working on the build system > ] |
12.1 Build system overview
Build system is currently GNU make, with an extra "stepmake" layer on top. Look at files in ‘make/’ and ‘stepmake/’ and all ‘GNUmakefile’s.
There is wide-spread dissatisfaction with this system, and we are considering changing. This would be a huge undertaking (estimated 200+ hours). This change will probably involve not using GNU make any more – but a discussion about the precise build system will have to wait. Before we reach that point, we need to figure out (at least approximately) what the current build system does.
Fundamentally, a build system does two things:
-
Constructs command-line commands, for example:
lilypond-book \ --tons --of --options \ pitches.itely texi2pdf \ --more --imperial --and --metric --tons --of --options \ pitches.texi
- If there was a previous build, it decides which parts of the system need to be rebuilt.
When I try to do anything in the build system, it helps to remind myself of this. The "end result" is just a series of command-line commands. All the black magick is just an attempt to construct those commands.
[ << Build system notes ] | [Top][Contents][Index][ ? ] | [ Modifying the Emmentaler font >> ] | ||
[ < Build system notes ] | [ Up : Build system notes ] | [ Tips for working on the build system > ] |