A build automation system written for the X Window System. It is used to generate Makefiles from a template, a set of cpp macro functions, and a per-directory input file called an Imakefile.