wiki:Building/StandardTargets

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.

help
Invoking make help in any directory of the build tree will elicit a message describing the targets available in that directory.
all
(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.
clean
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:

install
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.
distclean
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.
maintainer-clean
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.
binary-dist
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`.
sdist
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.