• simonmar's avatar
    [project @ 2001-01-16 17:47:10 by simonmar] · 93bb2e25
    simonmar authored
    Change the way the top-level Makefile works, now that we have a
    dependency between ghc and hslibs which means that you can't `make
    boot' in hslibs until you've done `make all' in ghc.
      - now you just type `make all' at the top-level, and the makefile
        arranges to do `make boot all' in each of the subdirectories.
        Typing `make boot' at the top-level now yields a message explaining
        what's going on.
      - Now it's no longer necessary to set $(ProjectsToBuild).  If you don't
        set it, the build system attempts to build all the projects in
        the source tree, in the order determined by $(AllProjects) in
        config.mk.  I've been meaning to fix this for ages, since it meant
        that one had to hand-edit config.mk.in when making a distribution
        for anything other than GHC - this is no longer the case.
        You still *can* set ProjectsToBuild if you want to, however.
      - ProjectsToInstall has been replaced by ProjectsDontInstall, and
        has the obvious, reverse, meaning.  It also has a reasonable default,
        so the need to set it should be rare.
    All this has the obvious benefit that to build GHC you need one fewer
    commands (no more `make boot'), and anyone that has "./configure &&
    make && make install" hardwired into their brains will feel right at