|
@@ -26,16 +26,12 @@ result of the test runs can be browsed from the `logs/index.html` file.
|
|
Compiling and dependencies
|
|
Compiling and dependencies
|
|
--------------------------
|
|
--------------------------
|
|
|
|
|
|
-Gone! [Check out our upcoming user guide!](doc/src/guide/book.asciidoc)
|
|
|
|
|
|
+[Check out our upcoming user guide!](doc/src/guide/book.asciidoc)
|
|
|
|
|
|
Releases
|
|
Releases
|
|
--------
|
|
--------
|
|
|
|
|
|
-If a `relx.config` file is present, erlang.mk will download `relx`
|
|
|
|
-automatically and build the release into the `_rel` folder. This
|
|
|
|
-is the default command when the file exists.
|
|
|
|
-
|
|
|
|
-No special configuration is required for this to work.
|
|
|
|
|
|
+[Check out our upcoming user guide!](doc/src/guide/book.asciidoc)
|
|
|
|
|
|
Extending Erlang.mk
|
|
Extending Erlang.mk
|
|
-------------------
|
|
-------------------
|
|
@@ -59,7 +55,7 @@ $ make V=1
|
|
Parallel execution
|
|
Parallel execution
|
|
------------------
|
|
------------------
|
|
|
|
|
|
-*Parallel execution is currently disabled.*
|
|
|
|
|
|
+*Parallel execution is currently enabled (experimental).*
|
|
|
|
|
|
Parallel execution can be enabled through the use of the
|
|
Parallel execution can be enabled through the use of the
|
|
`-j` option. The following output showcases concurrent
|
|
`-j` option. The following output showcases concurrent
|
|
@@ -88,27 +84,7 @@ MAKEFLAGS="-j32 -O"
|
|
C/C++ compiler plugin
|
|
C/C++ compiler plugin
|
|
---------------------
|
|
---------------------
|
|
|
|
|
|
-This plugin is available by default. It is meant to
|
|
|
|
-simplify the management of projects that include C
|
|
|
|
-and/or C++ source code, like NIFs for example.
|
|
|
|
-
|
|
|
|
-If the file `$(C_SRC_DIR)/Makefile` exists, then the plugin
|
|
|
|
-simply calls it when needed. Otherwise it tries to compile
|
|
|
|
-it directly.
|
|
|
|
-
|
|
|
|
-You can use a different directory than `./c_src` by setting
|
|
|
|
-the `C_SRC_DIR` variable.
|
|
|
|
-
|
|
|
|
-You can override the output file by setting the `C_SRC_OUTPUT`
|
|
|
|
-variable.
|
|
|
|
-
|
|
|
|
-You can override the temporary file containing information
|
|
|
|
-about Erlang's environment by setting the `C_SRC_ENV` variable.
|
|
|
|
-This file is automatically generated on first run.
|
|
|
|
-
|
|
|
|
-The `CC`, `CXX`, `CFLAGS`, `CXXFLAGS`, `LDLIBS` and `LDFLAGS` variables
|
|
|
|
-may be modified or replaced with any value of your choosing.
|
|
|
|
-The defaults are system dependent.
|
|
|
|
|
|
+[Check out our upcoming user guide!](doc/src/guide/book.asciidoc)
|
|
|
|
|
|
Common_test plugin
|
|
Common_test plugin
|
|
------------------
|
|
------------------
|
|
@@ -136,27 +112,7 @@ use the `make ct-spdy` command.
|
|
Dialyzer plugin
|
|
Dialyzer plugin
|
|
---------------
|
|
---------------
|
|
|
|
|
|
-This plugin is available by default. It adds the following
|
|
|
|
-targets:
|
|
|
|
-
|
|
|
|
-`plt` builds the PLT file for this application.
|
|
|
|
-
|
|
|
|
-`dialyze` runs Dialyzer.
|
|
|
|
-
|
|
|
|
-The PLT file is built in `./$(PROJECT).plt` by default.
|
|
|
|
-You can override this location by setting the `DIALYZER_PLT`
|
|
|
|
-variable.
|
|
|
|
-
|
|
|
|
-The `PLT_APPS` variable lists the applications that will be
|
|
|
|
-included in the PLT file. There is no need to specify `erts`,
|
|
|
|
-`kernel`, `stdlib` or the project's dependencies here, as they
|
|
|
|
-are automatically added.
|
|
|
|
-
|
|
|
|
-Dialyzer options can be modified by defining the `DIALYZER_OPTS`
|
|
|
|
-variable. The directories to be analyzed can be overriden using
|
|
|
|
-the `DIALYZER_DIRS` variable. It defaults to analyzing source
|
|
|
|
-files recursively found in `src/`. For more information please
|
|
|
|
-see `erl -man dialyzer`.
|
|
|
|
|
|
+[Check out our upcoming user guide!](doc/src/guide/book.asciidoc)
|
|
|
|
|
|
EDoc plugin
|
|
EDoc plugin
|
|
-----------
|
|
-----------
|
|
@@ -240,40 +196,12 @@ a comma-separated list of options.
|
|
Relx plugin
|
|
Relx plugin
|
|
-----------
|
|
-----------
|
|
|
|
|
|
-This plugin is available by default.
|
|
|
|
-
|
|
|
|
-You can change the location of the `relx` executable
|
|
|
|
-(downloaded automatically) by defining the `RELX` variable,
|
|
|
|
-and the location of the configuration file by defining
|
|
|
|
-the `RELX_CONFIG` variable.
|
|
|
|
-
|
|
|
|
-The URL used to download `relx` can be overriden by setting
|
|
|
|
-the `RELX_URL` variable.
|
|
|
|
-
|
|
|
|
-You can change the generated releases location by setting
|
|
|
|
-the `RELX_OUTPUT_DIR` variable. Any other option should go
|
|
|
|
-in the `RELX_OPTS` variable.
|
|
|
|
-
|
|
|
|
-If `RELX_OPTS` includes the `-o` option (instead of using
|
|
|
|
-`RELX_OUTPUT_DIR`, then that option must be the first in
|
|
|
|
-the list, otherwise erlang.mk will fail to find it and
|
|
|
|
-will not be able to clean up the release directory.
|
|
|
|
|
|
+[Check out our upcoming user guide!](doc/src/guide/book.asciidoc)
|
|
|
|
|
|
Shell plugin
|
|
Shell plugin
|
|
------------
|
|
------------
|
|
|
|
|
|
-This plugin is available by default.
|
|
|
|
-
|
|
|
|
-`SHELL_DEPS` adds the specified modules only when `make shell`
|
|
|
|
-or `make build-shell-deps` is run. For example, to include a module
|
|
|
|
-reloader and TDD test runner, one might add `SHELL_DEPS = tddreloader`
|
|
|
|
-to the Makefile.
|
|
|
|
-
|
|
|
|
-You can add extra `erl` options by defining the `SHELL_OPTS` variable.
|
|
|
|
-For more information please see `erl -man erl`.
|
|
|
|
-
|
|
|
|
-`SHELL_PATH` adds paths to the shell's library search path. By default
|
|
|
|
-this option sets the paths to `-pa ../$(PROJECT)/ebin $(DEPS_DIR)/*/ebin`.
|
|
|
|
|
|
+[Check out our upcoming user guide!](doc/src/guide/book.asciidoc)
|
|
|
|
|
|
Triq plugin
|
|
Triq plugin
|
|
-----------
|
|
-----------
|
|
@@ -313,38 +241,7 @@ applied to the binaries located in the `/ebin` directory.
|
|
Contributing
|
|
Contributing
|
|
------------
|
|
------------
|
|
|
|
|
|
-You can contribute by providing feedback, creating patches,
|
|
|
|
-adding packages to the index or new features as plugins.
|
|
|
|
-
|
|
|
|
-To add a package to the index, please use the `pkg_add.sh`
|
|
|
|
-script. To use it, first fork the repository, then please
|
|
|
|
-follow the example below:
|
|
|
|
-
|
|
|
|
-``` bash
|
|
|
|
-$ git clone https://github.com/$YOURUSERNAME/erlang.mk
|
|
|
|
-$ cd erlang.mk
|
|
|
|
-$ ./pkg_add.sh cowboy git https://github.com/ninenines/cowboy 1.0.0 http://ninenines.eu "Small, fast and modular HTTP server."
|
|
|
|
-$ git push origin master
|
|
|
|
-```
|
|
|
|
-
|
|
|
|
-Then open a pull request. The arguments given to the script
|
|
|
|
-are, in order, the project name, the download method used,
|
|
|
|
-the repository URL, the commit/tag/branch/version to pull,
|
|
|
|
-a link to the package's website and finally its description.
|
|
|
|
-Make sure to put double quotes around the description.
|
|
|
|
-
|
|
|
|
-You can submit as many packages as you want in one pull
|
|
|
|
-request as long as you follow the instructions above.
|
|
|
|
-
|
|
|
|
-For patches or plugins, you have to edit the `core/*.mk`
|
|
|
|
-or `plugins/*.mk` files. If you submit a new plugin, you also
|
|
|
|
-need to add it to the `build.config` file.
|
|
|
|
-
|
|
|
|
-Make sure to keep the commit title short, to have a single
|
|
|
|
-commit per package/feature/fix and you're good to submit
|
|
|
|
-a pull request! And again, please don't forget to run make
|
|
|
|
-and to commit the updated erlang.mk or index files along
|
|
|
|
-with your other changes. Thanks!
|
|
|
|
|
|
+[Check out our upcoming user guide!](doc/src/guide/book.asciidoc)
|
|
|
|
|
|
Support
|
|
Support
|
|
-------
|
|
-------
|