Imake Tool

Imake (including the xmkmf tool) is a build configuration tool which generates Makefiles. It was developed back in the 80s by former TektronixInc engineer ToddBrunhoff? as part of the X Windows System, and is (or was until recently) a key part of the development environment for X - at least the XFree86 distribution.

The inheritors of XFree86 are working to replace imake with an AutoConf based make system, like many other large OpenSource projects. They are also breaking the X source tree into modules that can be compiled independently. Soon, imake will become a relic of history.

I don't think it's used anywhere else.

It is a classic example of DoTheSimplestThingThatCouldPossiblyWork going awry. Even its author repeatedly has disclaimed it as a "dirty hack" or some such.

Essentially what Imake does, is that it serves as a preprocessor for Makefiles. You feed it a "makefile template" (an Imakefile) describing the software you want it to build, and "target description" files describing the target you want to build it for, and it outputs a set of Makefiles customized for your particular target.

This was done in the days before Gnu make (to say nothing of other build configuration tools such as ApacheAnt) was widely available - and was designed to deal with numerous different Unices, each with their own crippled version of Make (and other insidious platform differences).



View edit of April 20, 2007 or FindPage with title or text search