X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fdocs%2Fcomm%2Fgenesis%2Fmakefiles.html;fp=ghc%2Fdocs%2Fcomm%2Fgenesis%2Fmakefiles.html;h=0000000000000000000000000000000000000000;hb=0065d5ab628975892cea1ec7303f968c3338cbe1;hp=957a82eb85f9a833abbd309682471f7565b3b501;hpb=28a464a75e14cece5db40f2765a29348273ff2d2;p=ghc-hetmet.git diff --git a/ghc/docs/comm/genesis/makefiles.html b/ghc/docs/comm/genesis/makefiles.html deleted file mode 100644 index 957a82e..0000000 --- a/ghc/docs/comm/genesis/makefiles.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - The GHC Commentary - Mindboggling Makefiles - - - -

The GHC Commentary - Mindboggling Makefiles

-

- The size and structure of GHC's makefiles makes it quite easy to scream - out loud - in pain - during the process of tracking down problems in the - make system or when attempting to alter it. GHC's Building - Guide has valuable information on the - makefile architecture. - -

A maze of twisty little passages, all alike

-

- The fptools/ toplevel and the various project directories - contain not only a Makefile each, but there are - subdirectories of name mk/ at various levels that contain - rules, targets, and so on specific to a project - or, in the case of the - toplevel, the default rules for the whole system. Each mk/ - directory contains a file boilerplate.mk that ties the - various other makefiles together. Files called target.mk, - paths.mk, and suffix.mk contain make targets, - definitions of variables containing paths, and suffix rules, - respectively. -

- One particularly nasty trick used in this hierarchy of makefiles is the - way in which the variable $(TOP) is used. AFAIK, - $(TOP) always points to a directory containing an - mk/ subdirectory; however, it not necessarily points to the - toplevel fptools/ directory. For example, within the GHC - subtree, $(TOP) points to fptools/ghc/. - However, some of the makefiles in fptools/ghc/mk/ will then - temporarily redefine $(TOP) to point a level - higher (i.e., to fptools/) while they are including the - toplevel boilerplate. After that $(TOP) is redefined to - whatever value it had before including makefiles from higher up in the - hierarchy. - -

- -Last modified: Wed Aug 22 16:46:33 GMT Daylight Time 2001 - - - -