Suppose, for example, that you actually generate part of your
code from a specification file, using one of the techniques from Chapter9. You can use
make to tie the spec file and the generated
source together. This will ensure that whenever you change the spec
and remake, the generated code will automatically be rebuilt.
It's quite common to use makefile productions to express recipes
for making documentation as well as code. You'll often see this
approach used to automatically generate PostScript or other derived
documentation from masters written in some markup language (like HTML
or one of the Unix document-macro languages we'll survey in Chapter18). In fact, this sort of use is so
common that it's worth illustrating with a case study.