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
The following targets are accepted only by the top-level Makefile:
`install` and `install-strip`
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, or in `DESTDIR`; see Building/Installing.
The `install-strip` variant strips executable files while installing them.
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 `python3 boot`.
The result of `make maintainer-clean` should be a completely clean
source tree, containing only revision-controlled files (besides files
you created yourself, like for example mk/build.mk).
Runs the testsuite with some sensible default settings.
Runs the testsuite in fast mode.
`slowtest` (GHC \<= 7.10: `fulltest`)
Runs the full testsuite.
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
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.
Makes files `TAGS` (for emacs) and `tags` (for vim) in the top-level directory. To make Vim happy, use this command to sort them: `LC_COLLATE=C sort tags`.