# Header Test Developer Tool #

Requires GNU Make 3.81+

This makefile compiles Aleph One headers individually in order to catch 
missing #include dependencies for the current build configuration.

Usage: run configure to generate the build configuration-specific makefile in 
<build root>/tools/headertest/, then run make from that directory.

Targets:
  all      - (default) compiles all headers in scope
  <header> - compiles <header>, relative to Source_Files (e.g. Misc/vbl.h)
  list     - lists all headers in scope, relative to Source_Files
  clean    - deletes cache/, resetting all tests

Headers in scope (recalculated on every invocation):
  - all .h files in the Source_Files tree, outside of Expat and Lua
  - Source_Files/Lua/lua_*.h

Headers are compiled as C++ using the current build configuration. Successful 
compilation results are stored in cache/ to speed up later invocations.

Additional compiler options can be given by passing 'z=<extra options>' as a 
single argument to make (quote if necessary). To accommodate rapid 
adjustments to options that control diagnostic formatting, these extra 
options are not tracked as a dependency (no recompiles if 'z=...' changes).

The makefile uses options '-k -j 8 -O' ("keep going" mode, parallel execution, 
and grouping output by target) by default; this can be overridden by passing 
'MAKEFLAGS=' as an argument. -O has an effect only with GNU Make 4.0+.
