Trying to do anything non-trivial in GNU make macros is the most bewilderingly awful programming experience it is possible to have. They are horribly broken in every respect, from little stuff like awful syntax (whitespace is insignificant except where it&#x27;s significant!) and poor error checking (detecting undefined variables? Who cares?) to the really big stuff (can&#x27;t do arithmetic, despite having core functions which take numbers as arguments!).<p>A while back I wrote a compiler which targeted GNU Make and made it run Conway&#x27;s Game of Life (complete with hand-tooled arbitrary precision maths library written in make). I learnt more about this stuff than is healthy to know. The compiler output is... special.<p><a href="http:&#x2F;&#x2F;cowlark.com&#x2F;2013-10-19-insane-make" rel="nofollow">http:&#x2F;&#x2F;cowlark.com&#x2F;2013-10-19-insane-make</a>