>>13
Actually I'm new to M4. I just read these:
http://wolfram.schneider.org/bsd/7thEdManVol2/m4/m4.pdf
http://www.cs.stir.ac.uk/~kjt/research/pdf/expl-m4.pdf
https://mbreen.com/m4.html
Currently, I use it like I would use the C Pre-Processor but I'm aware that M4 offers more advanced features.