Changes between Version 47 and Version 48 of Building/Using


Ignore:
Timestamp:
Feb 24, 2010 3:22:50 PM (5 years ago)
Author:
simonpj
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Building/Using

    v47 v48  
    22[[PageOutline]]
    33
    4 '''NOTE''': this page now describes the new GHC build system, due to
    5 be added to GHC in April 2009.  For documentation of the "old" build
     4'''NOTE''': this page now describes the ''current'' GHC build system. 
     5For documentation of the "old" build
    66system, see [wiki:Attic/Building/Old/Using].
    77
     
    560560All other libraries are stand-alone Cabal packages, and the build system knows nothing about them.  Nevertheless, it is common to want to install extra packages for the GHC in your build tree.  Here are [wiki:Debugging/InstallingPackagesInplace instructions for how to do so].
    561561
    562 == Standard Targets ==
    563 
    564 The following targets work both at the top level, and in any subdirectory of the tree.  When used in a subdirectory, they apply only to the components of the system in that directory.
    565 
    566  `help`::
    567   Invoking `make help` in any directory of the build tree will elicit
    568   a message describing the targets available in that directory.
    569 
    570  `all`::
    571   (default target, can be omitted).  Builds all the targets for this
    572   directory.  At the top level, builds everything that needs to
    573   be built for a GHC installation, including the stage 2 GHC, all
    574   libraries and documentation.  After `make`, `make install` will not
    575   need to do any further rebuilding.
    576 
    577  `clean`::
    578   Delete all files from the current directory that are normally
    579   created by `make`.  Don't delete the files that record the
    580   configuration.
    581 
    582  `html`, `pdf`, `ps`::
    583   Build documentation below the current directory (if any) in HTML, PDF, or Postscript format respectively.
    584 
    585 To see how these targets are defined: [wiki:Building/Architecture/Idiom/StandardTargets].
    586 
    587 The following targets are accepted only by the top-level `Makefile`:
    588 
    589  `install`::
    590   installs the things built by `all`.  Where does it install them?  In
    591   the places you specified when running `configure`, principally set
    592   by the `--prefix` flag; see [wiki:Building/Installing].
    593 
    594  `distclean`::
    595   The same as `clean`, but also removes files created by `configure`.
    596   `distclean` preserves files that would normally go in a source
    597   distrubtion.  Note that after `make distclean` you will have to run
    598   `./configure` before building again.
    599 
    600  `maintainer-clean`::
    601   The same as `distclean`, but also removes files generated by `sh boot`.
    602   The result of `make maintainer-clean` should be a completely clean
    603   source tree, containing only revision-controlled files.
    604 
    605  `binary-dist`::
    606   Builds a binary distribution.  A binary distribution is a copy of
    607   the build tree with the source files removed, such that it can be
    608   installed on a different system simply by issuing `./configure; make
    609   install`.
    610 
    611  `sdist`::
    612   Builds a source distribution.  A source distribution is a source
    613   tree for GHC, complete with some extra files included for
    614   convenience so that the user doesn't need to install `autoconf`,
    615   `Happy`, or `Alex` in order to build it.  Hence `make sdist` only
    616   works in a completely built tree.