A.4. More macros

The following macros can be useful -- they are documented and may thus be used:

UNIT_PATH

Specify directories (white-space separated) in which to search for TOM units. These directories are added to the default directory $(tom_prefix). When looking for a unit u, for each directory dir in the path, the directory dir/u is checked for containing the unit u. The first match will be used.

For example, if your project /home/me/src/myapp uses the units tom, too, and the one called mylib in /home/me/src/mylib, the UNIT_PATH would be .., and USES_UNITS would include mylib. Note that the makefiles use the fact that a unit can reside in a subdirectory of the same name, in a directory somewhere along the UNIT_PATH. This is especially handy when using a lot of units, each residing in a subdirectory of a specific top-level directory.

SUBPROJECTS

The names of directories to be visited by make after the project in this directory is built, cleaned, etc. This macro usually is the only one used in a directory employing the GNUmakefile.top.

C_SRC

The names of any auxiliary C source files, without the extension. For example, the C unit has a file called glue.c which contains code that interfaces the TOM Math class with the C math library. Consequently, the GNUmakefile of the C unit specifies:


C_SRC=	glue

Actually, the extension of the actual glue file does not matter, since for every word mysrc only the replacement mysrc.o is used in the makefiles. The makefiles however only contain the rule to create $(GENDIR)/%.o for every C source file %.c.

GP_SRC

Names of any sources to gp. As usual, these names exclude any extension. GP_SRC files have the extension .tp.

EXTRA_OBJ

Any extra object files to be linked with the unit.