Version 1 (modified by simonpj, 4 years ago) (diff)


Standard Targets

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.

Invoking make help in any directory of the build tree will elicit a message describing the targets available in that directory.
(default target, can be omitted). Builds all the targets for this directory. At the top level, builds everything that needs to be built for a GHC installation, including the stage 2 GHC, all libraries and documentation. After make, make install will not need to do any further rebuilding.
Delete all files from the current directory that are normally created by make. Don't delete the files that record the configuration.
html, pdf, ps
Build documentation below the current directory (if any) in HTML, PDF, or Postscript format respectively.

To see how these targets are defined: Building/Architecture/Idiom/StandardTargets.

The following targets are accepted only by the top-level Makefile:

installs the things built by all. Where does it install them? In the places you specified when running configure, principally set by the --prefix flag; see Building/Installing.
The same as clean, but also removes files created by configure. distclean preserves files that would normally go in a source distrubtion. Note that after make distclean you will have to run ./configure before building again.
The same as distclean, but also removes files generated by sh boot. The result of make maintainer-clean should be a completely clean source tree, containing only revision-controlled files.
Builds a binary distribution. A binary distribution is a copy of the build tree with the source files removed, such that it can be installed on a different system simply by issuing `./configure; make install`.
Builds a source distribution. A source distribution is a source tree for GHC, complete with some extra files included for convenience so that the user doesn't need to install autoconf, Happy, or Alex in order to build it. Hence make sdist only works in a completely built tree.