Make a constraint synonym for repeated BinaryStringRep and use it.
[ghc.git] / MAKEHELP.md
1 Quick `make` guide for GHC
2 ==========================
3
4 For a "Getting Started" guide, see:
5
6   http://ghc.haskell.org/trac/ghc/wiki/Building/Hacking
7
8 Common commands:
9
10   - `make`
11
12     Builds everything: ghc stages 1 and 2, all libraries and tools.
13
14   - `make -j2`
15
16     Parallel build: runs up to 2 commands at a time.
17
18   - `cd <dir>; make`
19
20     Builds everything in the given directory.
21
22   - cd <dir>; make help
23
24     Shows the targets available in <dir>
25
26   - make install
27   - make install-strip
28
29     Installs GHC, libraries and tools under $(prefix). The install-strip
30     variant strips executable files while installing them.
31
32   - make sdist
33   - make binary-dist
34
35     Builds a source or binary distribution respectively
36
37   - `make show VALUE=<var>`
38   - `make show! VALUE=<var>`
39
40     Show the value of make variable <var>. The show! variant works right after
41     ./configure (it skips reading package-data.mk files).
42
43   - make clean
44   - make distclean
45   - make maintainer-clean
46
47     Various levels of cleaning: "clean" restores the tree to the
48     state after "./configure", "distclean" restores to the state
49     after "perl boot", and maintainer-clean restores the tree to the
50     completely clean checked-out state.
51
52 Using `make` in subdirectories
53 ==============================
54
55   - `make`
56
57     Builds everything in this directory (including dependencies elsewhere
58     in the tree, if necessary)
59
60   - `make fast`
61
62     The same as 'make', but omits some phases and does not
63     recalculate dependencies.  Useful for saving time if you are sure
64     the rest of the tree is up to date.
65
66   - `make clean`
67   - `make distclean`
68   - `make maintainer-clean`
69
70     Clean just this directory
71
72   - `make html`
73   - `make pdf`
74   - `make ps`
75
76     Make documentation in this directory (if any)
77
78   - `make show VALUE=<var>`
79   - `make show! VALUE=<var>`
80
81     Show the value of make variable <var>. The show! variant works right after
82     ./configure (it skips reading package-data.mk files).
83
84   - `make <file>`
85
86     Bring a particular file up to date, e.g. make dist/build/Module.o
87     The name <file> is relative to the current directory