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.