SMake is a powerful mechanism to generate standard
Makefiles out of skeleton Makefiles which only provide the
essential parts.
The missing stuff gets automatically filled in by shared
include files. A great scheme to create a huge Makefile
hierarchy and to keep it consistent for the time of
development. The trick is that it merges the skeleton and
the templates in a priority-driven way. The idea is taken
from the X Consortium's Imake, but the goal here is not
inherited system independency, the goal is consistency and
power without the need of manually maintaining a Makefile
hierarchy.