aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2018-12-03 19:22:12 +0100
committerLoïc Hoguin <[email protected]>2018-12-03 19:22:12 +0100
commit983f82bdfcb3e78f04468fcfd02d6a6ee5869b13 (patch)
treec2dc607d4fac2e5d0e42e57dd5b88837e82543ff /doc
parent225fb9046e8bf05c647cbcfdd2a074901700236a (diff)
downloaderlang.mk-983f82bdfcb3e78f04468fcfd02d6a6ee5869b13.tar.gz
erlang.mk-983f82bdfcb3e78f04468fcfd02d6a6ee5869b13.tar.bz2
erlang.mk-983f82bdfcb3e78f04468fcfd02d6a6ee5869b13.zip
Don't rebuild dependencies by default
Unless it's a symbolic link, it's built directly, FULL=1 is set or the file ebin/dep_built in the dependency is removed. See the documentation changes for more details. This provides immense build speed gains, for example on a RabbitMQ project it went from 10s to 1s for the 2nd+ builds.
Diffstat (limited to 'doc')
-rw-r--r--doc/src/guide/deps.asciidoc18
1 files changed, 18 insertions, 0 deletions
diff --git a/doc/src/guide/deps.asciidoc b/doc/src/guide/deps.asciidoc
index 9e78826..9939e82 100644
--- a/doc/src/guide/deps.asciidoc
+++ b/doc/src/guide/deps.asciidoc
@@ -296,6 +296,24 @@ different version of D, it will always be A's version
that wins, because we fetch all dependencies of A before
fetching those from B or C.
+Once a dependency is built, it will not be built again by
+default. Typically dependencies do not need to be recompiled
+and this speeds up building immensely. There are a few ways
+to force recompiling a dependency however:
+
+* The dependency directory is a symbolic link; the dependency
+ will always be recompiled.
+
+* The dependency is built directly, for example with a command
+ like `make -C deps/cowlib`, or `make` in the dependency's
+ directory.
+
+* The variable `FULL` is set, for example `make FULL=1`. This
+ will force building of all dependencies. This can be added
+ to your Makefile before including 'erlang.mk'.
+
+* The file `ebin/dep_built` in the dependency is removed.
+
=== Fetching and listing dependencies only
You can fetch all dependencies recursively without building anything,