summaryrefslogtreecommitdiff
path: root/MAKEHELP.md
diff options
context:
space:
mode:
authorAustin Seipp <austin@well-typed.com>2015-02-23 05:21:11 -0600
committerAustin Seipp <austin@well-typed.com>2015-02-23 05:24:12 -0600
commitc3f9eb4d0626fc40f77e61653deca84cc3e1542f (patch)
tree606171ddd38af431181ad1fc3e310a4827dc0f9d /MAKEHELP.md
parent9a1c8d96f0aaf7629cdcfad5ba67aa8a1a7b9cb3 (diff)
downloadhaskell-c3f9eb4d0626fc40f77e61653deca84cc3e1542f.tar.gz
docs: Flatten MAKEHELP/SUBMAKEHELP
There's no reason to have two files, and this is one step towards a cleaner root directory. Signed-off-by: Austin Seipp <austin@well-typed.com>
Diffstat (limited to 'MAKEHELP.md')
-rw-r--r--MAKEHELP.md81
1 files changed, 81 insertions, 0 deletions
diff --git a/MAKEHELP.md b/MAKEHELP.md
new file mode 100644
index 0000000000..ff0e4340a5
--- /dev/null
+++ b/MAKEHELP.md
@@ -0,0 +1,81 @@
+Quick `make` guide for GHC
+==========================
+
+For a "Getting Started" guide, see:
+
+ http://ghc.haskell.org/trac/ghc/wiki/Building/Hacking
+
+Common commands:
+
+ - `make`
+
+ Builds everything: ghc stages 1 and 2, all libraries and tools.
+
+ - `make -j2`
+
+ Parallel build: runs up to 2 commands at a time.
+
+ - `cd <dir>; make`
+
+ Builds everything in the given directory.
+
+ - cd <dir>; make help
+
+ Shows the targets available in <dir>
+
+ - make install
+
+ Installs GHC, libraries and tools under $(prefix)
+
+ - make sdist
+ - make binary-dist
+
+ Builds a source or binary distribution respectively
+
+ - `make show VALUE=<var>`
+
+ Displays the value of make variable <var>
+
+ - make clean
+ - make distclean
+ - make maintainer-clean
+
+ Various levels of cleaning: "clean" restores the tree to the
+ state after "./configure", "distclean" restores to the state
+ after "perl boot", and maintainer-clean restores the tree to the
+ completely clean checked-out state.
+
+Using `make` in subdirectories
+==============================
+
+ - `make`
+
+ Builds everything in this directory (including dependencies elsewhere
+ in the tree, if necessary)
+
+ - `make fast`
+
+ The same as 'make', but omits some phases and does not
+ recalculate dependencies. Useful for saving time if you are sure
+ the rest of the tree is up to date.
+
+ - `make clean`
+ - `make distclean`
+ - `make maintainer-clean`
+
+ Clean just this directory
+
+ - `make html`
+ - `make pdf`
+ - `make ps`
+
+ Make documentation in this directory (if any)
+
+ - `make show VALUE=var`
+
+ Show the value of $(var)
+
+ - `make <file>`
+
+ Bring a particular file up to date, e.g. make dist/build/Module.o
+ The name <file> is relative to the current directory