This handbook is ideal for X and UNIX programmers who want their software to be portable. imake, a utility that works with make to enable code to be compiled and installed on different UNIX machines, makes wide portability of the X Window System code possible. Although considered an X tool, imake is useful for any software project that needs to be ported to many UNIX systems -- and runs under Windows NT as well. This second edition covers version X11R6.1 of the X Window System, using imake for non-UNIX systems such as Windows NT, and some of the quirks about using imake under OpenWindows/Solaris. The book opens with a general explanation of imake, X configuration files, and how to write and debug an Imakefile. It then discusses how to write configuration files and presents a configuration file architecture that allows development of coexisting sets of configuration files. Also describes sample sets of configuration files that are available free over the Net.