1 Quick `make` guide for GHC
2 ==========================
4 For a "Getting Started" guide, see:
6 https://ghc.haskell.org/trac/ghc/wiki/Building/QuickStart
7 https://ghc.haskell.org/trac/ghc/wiki/Building/Using
8 https://ghc.haskell.org/trac/ghc/wiki/Building/StandardTargets
14 Builds everything: ghc stages 1 and 2, all libraries and tools.
18 Parallel build: runs up to 2 commands at a time.
22 Builds everything in the given directory.
26 Shows the targets available in <dir>
31 Installs GHC, libraries and tools under $(prefix). The install-strip
32 variant strips executable files while installing them.
37 Builds a source or binary distribution respectively
39 - `make show VALUE=<var>`
40 - `make show! VALUE=<var>`
42 Show the value of make variable <var>. The show! variant works right after
43 ./configure (it skips reading package-data.mk files).
47 - make maintainer-clean
49 Various levels of cleaning: "clean" restores the tree to the
50 state after "./configure", "distclean" restores to the state
51 after "python3 boot", and maintainer-clean restores the tree to the
52 completely clean checked-out state.
54 Using `make` in subdirectories
55 ==============================
59 Builds everything in this directory (including dependencies elsewhere
60 in the tree, if necessary)
64 The same as 'make', but omits some phases and does not
65 recalculate dependencies. Useful for saving time if you are sure
66 the rest of the tree is up to date.
70 - `make maintainer-clean`
72 Clean just this directory
78 Make documentation in this directory (if any)
80 - `make show VALUE=<var>`
81 - `make show! VALUE=<var>`
83 Show the value of make variable <var>. The show! variant works right after
84 ./configure (it skips reading package-data.mk files).
88 Bring a particular file up to date, e.g. make dist/build/Module.o
89 The name <file> is relative to the current directory