Add 'make help', displaying a list of useful make targets
[ghc.git] / MAKEHELP
1
2 Using the GHC build system
3 --------------------------
4
5 For a "Getting Started" guide, see:
6
7   http://hackage.haskell.org/trac/ghc/wiki/Building/Hacking
8
9 Common commands:
10
11   make
12
13      Builds everything: ghc stages 1 and 2, all libraries and tools.
14
15   make -j2
16
17      Parallel build: runs up to 2 commands at a time (use the number of
18      CPUs in your machine in place of '2')
19
20   cd <dir>; make
21
22      Builds everything in the given directory.
23
24   cd compiler; make 2
25
26      Make just the stage2 compiler, ignoring dependencies.  Also "make 1" to
27      build just the stage1 compiler.
28
29   cd libraries; make 1
30
31      Build just those libraries that are built by stage1 (omit the "1" to build
32      all libraries, but that will also update the stage2 compiler).
33
34   make install
35
36      Installs GHC, libraries and tools under $(prefix)
37
38   make sdist
39   make binary-dist
40
41      Builds a source or binary distribution respectively
42
43   make show VALUE=<var>
44
45      Displays the value of make variable <var>
46
47   make clean
48   make distclean
49   make maintainer-clean
50
51      Various levels of cleaning: "clean" restores the tree to the
52      state after "./configure", "distclean" restores to the state
53      after "sh boot", and maintainer-clean restores the tree to the
54      completely clean checked-out state.
55