Category Archives: Metaprogramming

Metaprogramming Make I — Evaluation and Expansion

This is the first in a series of posts discussing metaprogramming techniques in GNU make.

Metaprogramming is the ability of a program generate a program or to modify itself while running. It turns out that GNU make has a number of facilities that can be considered “metaprogramming”, and these capabilities can be incredibly powerful in creating build environments that require a minimal amount of upkeep and maintenance, while providing a significant amount of flexibility. In a series of posts I’ll explore these different facilities, starting from the simplest to most complex.
Continue reading