aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2015-09-08 01:19:30 +0200
committerLoïc Hoguin <[email protected]>2015-09-08 01:19:30 +0200
commit88d905fc5dc802af920a923f19ef226fb720d3aa (patch)
treea1fd594c3f7070387cbfd392c4ab0e68db5c26c9 /README.md
parentb79fa9f2c021c3ca2520785ce6f5e46d5143a0fd (diff)
downloaderlang.mk-88d905fc5dc802af920a923f19ef226fb720d3aa.tar.gz
erlang.mk-88d905fc5dc802af920a923f19ef226fb720d3aa.tar.bz2
erlang.mk-88d905fc5dc802af920a923f19ef226fb720d3aa.zip
Quick README update cleaning and fixing things
Incorrect things are corrected. Things covered in the guide are removed.
Diffstat (limited to 'README.md')
-rw-r--r--README.md113
1 files changed, 16 insertions, 97 deletions
diff --git a/README.md b/README.md
index 5557282..5a00371 100644
--- a/README.md
+++ b/README.md
@@ -1,23 +1,12 @@
erlang.mk
=========
-Common Makefile rules for building and testing Erlang applications.
+A build tool for Erlang that just works.
-Also features support for dependencies and a package index.
+[Check out our upcoming user guide!](doc/src/guide/book.asciidoc)
-[Check out our upcoming documentation!](doc/src/guide/book.asciidoc)
-
-Why erlang.mk?
---------------
-
-A number of reasons might push someone to use erlang.mk instead of
-an Erlang-based build tool, including but not limited to the following:
-
- * You want a very fast compilation and test cycle
- * You want the full power of Unix at your disposal when hooking into your build tool
- * You want to be able to easily edit the damn build tool and fix it when it fails
- * You want to use the deps mechanism with non-Erlang Makefile-based projects
- * Your project will be part of a larger make or automake based environment
+The README only contains legacy documentation that was not moved to
+the guide yet. Check there if you don't find what you're looking for.
Requirements
------------
@@ -25,41 +14,8 @@ Requirements
`erlang.mk` requires GNU Make and expects to be ran in a standard
unix environment with Erlang installed and in the `$PATH`.
-`erlang.mk` uses `wget` for downloading the package index file.
-
-`erlang.mk` will NOT work if the path contains spaces. This is a
-limitation of POSIX compatible make build tools.
-
-Usage
------
-
-Add the file `erlang.mk` to your project, then use the following base
-Makefile:
-
-``` Makefile
-PROJECT = my_project
-include erlang.mk
-```
-
-Alternatively you can use the following command to generate a skeleton
-of an OTP application:
-
-``` bash
-$ make -f erlang.mk bootstrap
-```
-
-To generate a skeleton of an OTP library:
-
-``` bash
-$ make -f erlang.mk bootstrap-lib
-```
-
-Finally if you are going to create a release of this project you may
-want to also use the `bootstrap-rel` target.
-
-You can combine targets to perform many operations. For example, the
-shell command `make clean app` will have the effect of recompiling
-the application fully, without touching the dependencies.
+Common workflow
+---------------
A common workflow when editing a file would be to run `make` regularly
to see if it compiles (or less often `make clean app` if you want to
@@ -67,11 +23,6 @@ recompile everything), followed by `make dialyze` to see if there are
any type errors and then `make tests` to run the test suites. The
result of the test runs can be browsed from the `logs/index.html` file.
-Getting help
-------------
-
-You can use `make help` to get help about erlang.mk or its plugins.
-
Packages
--------
@@ -152,11 +103,11 @@ when used as dependency.
The patching occurs only once, immediately after the package has
been fetched.
-erlang.mk defines a number of packages to be patched. You can add
-more packages to the list by appending the `AUTOPATCH` variable.
+The autopatch feature is applied to all dependencies. To disable
+it for a dependency, use the `NO_AUTOPATCH` variable:
``` Makefile
-AUTOPATCH += gproc
+NO_AUTOPATCH += gproc
```
Releases
@@ -226,6 +177,11 @@ You can enable verbose mode by calling Make with the variable
$ V=1 make
```
+Parallel execution
+------------------
+
+*Parallel execution is currently disabled.*
+
Parallel execution can be enabled through the use of the
`-j` option. The following output showcases concurrent
downloading of dependencies.
@@ -255,15 +211,12 @@ Core package functionality
The following targets are specific to packages:
-`pkg-list` lists all packages in the index.
+`search` lists all packages in the index.
-`pkg-search q=STRING` searches the index for STRING.
+`search q=STRING` searches the index for STRING.
Packages are downloaded into `DEPS_DIR` (`./deps/` by default).
-The package index file is downloaded from `PKG_FILE_URL`
-and saved in `PKG_FILE2`.
-
Core compiler functionality
---------------------------
@@ -294,39 +247,6 @@ If `{id, "git"},` is found in your project's `.app.src`, the
extended output of `git describe ...` will replace it. This
can be retrieved at runtime via `application:get_key/2`.
-Updating erlang.mk
-------------------
-
-You can update erlang.mk by running `make erlang-mk`. This automated
-update will always take the latest erlang.mk version, compile it and
-replace the erlang.mk of your project with the updated version.
-
-If your project includes a `build.config`, erlang.mk will use it
-when building the updated version.
-
-The `ERLANG_MK_BUILD_CONFIG` variable can be used to rename the
-`build.config` file.
-
-The `ERLANG_MK_BUILD_DIR` variable contains the path to the
-temporary directory used to build the updated erlang.mk.
-
-Bootstrap plugin
-----------------
-
-This plugin is available by default. It adds the following
-targets:
-
-`bootstrap` generates a skeleton of an OTP application.
-
-`bootstrap-lib` generates a skeleton of an OTP library.
-
-`bootstrap-rel` generates the files needed to build a release.
-
-`new` generate a skeleton module based on one of the available
-templates.
-
-`list-templates` lists the available templates.
-
C/C++ compiler plugin
---------------------
@@ -437,7 +357,6 @@ subdirectories names in the compiled module name add
`DTL_FULL_PATH=1` into your Makefile - `a/b/templatename.dtl`
will be compiled into `a_b_templatename_dtl.beam`.
-
Escript plugin
--------------