Imagine the following situation:
You have a bunch of files that are being built by the same rule in a Makefile, but some of them further depend on some other input files. It’s far from the most of the targets that have these dependences, and those that do depend on different subsets of the extra dependences. How should the Makefile for this look?
I found myself in this very situation not long ago, when I was working on the slides for my Git Workshop, which included a lot of SVG figures depicting commit graphs.
Metaprogramming is when a computer program has the ability to treat programs as their data, enabling them to read or generate code, or even modify itself while running.
It's a technique that became popular with the programming language Lisp, from …