This document describes the GEN_make
Makefile processor -- the Tcl
script which generates ASTERIX Makefiles
. This script exists because
editing the ASTERIX make files is too error prone to be done by hand. It is
better to reduce the varying information to control files and put the
invariant rules on how to build the various components of the system in
proto-make files. The reduction in volume thus achieved is about a factor
of 40.
In addition to the script itself there are only 3 files involved when
GEN_make
is run. They are named according the the class of
directory for which the Makefile
is being constructed. They are,
Makefile
which are peculiar to the directory to which it refers. It might, for
example, contain the names of the programs to be built.
Makefile
. Things which vary from
one instance of a directory class to another are parameterised using
GEN_make tokens, which have the form colon_identifier_colon
(eg. :FILES:
). Proto-type include files may also contain
#include
directives which cause file inclusion. This enables
entire sections common to different classes of make files to be shared,
further reducing the number of potential errors.