Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!samsung!usc!rutgers!att!cbnewsl!siyt From: siyt@cbnewsl.att.com (p.jayne) Newsgroups: comp.windows.x Subject: imake Keywords: att imake Message-ID: <1990Jul18.213435.7284@cbnewsl.att.com> Date: 18 Jul 90 21:34:35 GMT Organization: AT&T Bell Laboratories Lines: 22 I've been maintaining AT&T/USL's imake since X11R3. In R2, we rewrote it as a shell script and a C program. Much of the template and rules set were discarded to simplify things. In R4, I put back most of the discarded stuff so that we could use contributed Imakefiles w/o hacking. (And besides, some people were unhappy with the changes we made.) The shell script does mostly what imake.c from the tape does, i.e. it runs cpp through the source tree's Imakefiles. The C program handles the @@ stuff and additionally strips out redundant and unreferenced Makefile variables and tosses extra blank lines. This means you get readable Makefiles out of the deal. To keep my own sanity in dealing with the included files, I spent a little time using vi, ed, usort, grep and whatever to produce an index of what variables and defines get set where. Finally, I made a diagram of which included files override which others for defines and for variables (in fish-eats-successively-smaller-fish form). The index and the fish let me figure out what to set/change and where to do it, which may be the hardest part of coping with imake anxiety. (The readable Makefiles are also invaluable.) Has anyone else developed a home-brewed version of imake?