Hacker News new | ask | show | jobs
by patrck 1495 days ago
The gnu m4 manual is the go-to documentation.

One way to think about m4 is as form-substitution, eg. the ssh-config customization via sed.

Another is as text generator, eg. the classic sendmail config generator, where one writes m4 succinctly which in turn generates complex files.

From a 10,000 meter perspective, all the managed servers' config files are a projection from the central config repository. If that config is already an m4 file, then all that's left is finding the variant configs and handling them.

`make` is another nicety, as it handles the dependencies, eg. scp'ing the config and then HUP'ing the daemon only when that config changes.