imake
Więcej informacji
- Twórca
- Todd Brunhoff
- Rok
- Typ
- Narzędzie do budowania
- Licencja
- MIT
Własny system budowania X11, w którym preprocesor C pisał pliki Makefile na podstawie Imakefile: przenośny na każdy Unix i znienawidzony na każdym z nich.
Todd Brunhoff z Tektronixa napisał imake w 1987 roku dla X11R1, gdy każdy producent Unixa miał własny make, własne ścieżki bibliotek i własne flagi kompilatora. Rozwiązaniem był niewielki plik Imakefile z wywołaniami reguł, np. ComplexProgramTarget(xclock), który cpp rozwijał razem z szablonem, plikiem reguł i jednym plikiem platformy na system (sun.cf, linux.cf) do gotowego pliku Makefile. Polecenie xmkmf robiło to jednym krokiem, a make World budowało cały X.
Kłopot w tym, że cpp nigdy nie był do tego przeznaczony. Wycinał wszystko, co zaczynało się od #, więc komentarze trzeba było pisać jako XCOMM; zamieniał predefiniowane słowa takie jak unix i linux na 1, nawet w ścieżkach; a niektóre wersje dodawały lub usuwały białe znaki, aż make przestawał rozpoznawać tabulatory. Paul DuBois potrzebował w 1993 roku całej książki O'Reilly, by to opisać. Motif, LessTif i większość katalogu contrib X budowano tak mimo wszystko przez prawie dwie dekady, aż X11R7 w 2005 roku podzielił drzewo na moduły i przeszedł na GNU autotools.