summaryrefslogtreecommitdiffstats
path: root/docs/en/erlang.mk
diff options
context:
space:
mode:
Diffstat (limited to 'docs/en/erlang.mk')
-rw-r--r--docs/en/erlang.mk/1/guide/app.asciidoc496
-rw-r--r--docs/en/erlang.mk/1/guide/app/index.html522
-rw-r--r--docs/en/erlang.mk/1/guide/asciidoc.asciidoc82
-rw-r--r--docs/en/erlang.mk/1/guide/asciidoc/index.html223
-rw-r--r--docs/en/erlang.mk/1/guide/ci.asciidoc66
-rw-r--r--docs/en/erlang.mk/1/guide/ci/index.html211
-rw-r--r--docs/en/erlang.mk/1/guide/common_test.asciidoc103
-rw-r--r--docs/en/erlang.mk/1/guide/common_test/index.html259
-rw-r--r--docs/en/erlang.mk/1/guide/compat.asciidoc90
-rw-r--r--docs/en/erlang.mk/1/guide/compat/index.html199
-rw-r--r--docs/en/erlang.mk/1/guide/contributing.asciidoc116
-rw-r--r--docs/en/erlang.mk/1/guide/contributing/index.html213
-rw-r--r--docs/en/erlang.mk/1/guide/coverage.asciidoc62
-rw-r--r--docs/en/erlang.mk/1/guide/coverage/index.html211
-rw-r--r--docs/en/erlang.mk/1/guide/cross_compiling.asciidoc94
-rw-r--r--docs/en/erlang.mk/1/guide/cross_compiling/index.html240
-rw-r--r--docs/en/erlang.mk/1/guide/deps.asciidoc606
-rw-r--r--docs/en/erlang.mk/1/guide/deps/index.html596
-rw-r--r--docs/en/erlang.mk/1/guide/dialyzer.asciidoc86
-rw-r--r--docs/en/erlang.mk/1/guide/dialyzer/index.html206
-rw-r--r--docs/en/erlang.mk/1/guide/edoc.asciidoc61
-rw-r--r--docs/en/erlang.mk/1/guide/edoc/index.html211
-rw-r--r--docs/en/erlang.mk/1/guide/escripts.asciidoc83
-rw-r--r--docs/en/erlang.mk/1/guide/escripts/index.html213
-rw-r--r--docs/en/erlang.mk/1/guide/eunit.asciidoc122
-rw-r--r--docs/en/erlang.mk/1/guide/eunit/index.html270
-rw-r--r--docs/en/erlang.mk/1/guide/external_plugins.asciidoc140
-rw-r--r--docs/en/erlang.mk/1/guide/external_plugins/index.html260
-rw-r--r--docs/en/erlang.mk/1/guide/external_plugins_list.asciidoc72
-rw-r--r--docs/en/erlang.mk/1/guide/external_plugins_list/index.html194
-rw-r--r--docs/en/erlang.mk/1/guide/getting_started.asciidoc326
-rw-r--r--docs/en/erlang.mk/1/guide/getting_started/index.html418
-rw-r--r--docs/en/erlang.mk/1/guide/history.asciidoc66
-rw-r--r--docs/en/erlang.mk/1/guide/history/index.html184
-rw-r--r--docs/en/erlang.mk/1/guide/index.html218
-rw-r--r--docs/en/erlang.mk/1/guide/installation.asciidoc173
-rw-r--r--docs/en/erlang.mk/1/guide/installation/index.html253
-rw-r--r--docs/en/erlang.mk/1/guide/kerl.asciidoc76
-rw-r--r--docs/en/erlang.mk/1/guide/kerl/index.html196
-rw-r--r--docs/en/erlang.mk/1/guide/limitations.asciidoc46
-rw-r--r--docs/en/erlang.mk/1/guide/limitations/index.html180
-rw-r--r--docs/en/erlang.mk/1/guide/overview.asciidoc87
-rw-r--r--docs/en/erlang.mk/1/guide/overview/index.html202
-rw-r--r--docs/en/erlang.mk/1/guide/ports.asciidoc134
-rw-r--r--docs/en/erlang.mk/1/guide/ports/index.html257
-rw-r--r--docs/en/erlang.mk/1/guide/proper.asciidoc31
-rw-r--r--docs/en/erlang.mk/1/guide/proper/index.html203
-rw-r--r--docs/en/erlang.mk/1/guide/releases.asciidoc195
-rw-r--r--docs/en/erlang.mk/1/guide/releases/index.html330
-rw-r--r--docs/en/erlang.mk/1/guide/sfx.asciidoc49
-rw-r--r--docs/en/erlang.mk/1/guide/sfx/index.html196
-rw-r--r--docs/en/erlang.mk/1/guide/shell.asciidoc50
-rw-r--r--docs/en/erlang.mk/1/guide/shell/index.html208
-rw-r--r--docs/en/erlang.mk/1/guide/sphinx.asciidoc129
-rw-r--r--docs/en/erlang.mk/1/guide/sphinx/index.html234
-rw-r--r--docs/en/erlang.mk/1/guide/triq.asciidoc31
-rw-r--r--docs/en/erlang.mk/1/guide/triq/index.html203
-rw-r--r--docs/en/erlang.mk/1/guide/updating.asciidoc85
-rw-r--r--docs/en/erlang.mk/1/guide/updating/index.html217
-rw-r--r--docs/en/erlang.mk/1/guide/why.asciidoc81
-rw-r--r--docs/en/erlang.mk/1/guide/why/index.html190
-rw-r--r--docs/en/erlang.mk/1/guide/xref.asciidoc6
-rw-r--r--docs/en/erlang.mk/1/guide/xref/index.html169
63 files changed, 0 insertions, 11730 deletions
diff --git a/docs/en/erlang.mk/1/guide/app.asciidoc b/docs/en/erlang.mk/1/guide/app.asciidoc
deleted file mode 100644
index 226f24c4..00000000
--- a/docs/en/erlang.mk/1/guide/app.asciidoc
+++ /dev/null
@@ -1,496 +0,0 @@
-[[building]]
-== Building
-
-Erlang.mk can do a lot of things, but it is, first and
-foremost, a build tool. In this chapter we will cover
-the basics of building a project with Erlang.mk.
-
-For most of this chapter, we will assume that you are
-using a project xref:getting_started[generated by Erlang.mk].
-
-=== How to build
-
-To build a project, all you have to do is type `make`:
-
-[source,bash]
-$ make
-
-It will work regardless of your project: OTP applications,
-library applications, NIFs, port drivers or even releases.
-Erlang.mk also automatically downloads and compiles the
-dependencies for your project.
-
-All this is possible thanks to a combination of configuration
-and conventions. Most of the conventions come from Erlang/OTP
-itself so any seasoned Erlang developers should feel right at
-home.
-
-Erlang.mk supports multi-threaded building. Parallel execution
-is supported for all targets. To execute Erlang.mk in parallel
-the `-j` option must be used:
-
-[source,bash]
-$ make -j8
-
-The `MAKEFLAGS` variable can be used to enable parallel
-building permanently on your system. It can be set in
-your `.zshrc`, `.bashrc` or equivalent file.
-
-[source,bash]
-MAKEFLAGS="-j8"
-
-=== What to build
-
-Erlang.mk gives you control over three steps of the build
-process, allowing you to do a partial build if needed.
-
-A build has three phases: first any dependency is fetched
-and built, then the project itself is built and finally a
-release may be generated when applicable. A release is only
-generated for projects specifically configured to do so.
-
-Erlang.mk handles those three phases automatically when you
-type `make`. But sometimes you just want to repeat one or
-two of them.
-
-The commands detailed in this section are most useful after
-you have a successful build as they allow you to quickly
-redo a step instead of going through everything. This is
-especially useful for large projects or projects that end
-up generating releases.
-
-==== Application
-
-You can build your application and dependencies without
-generating a release by running the following command:
-
-[source,bash]
-$ make app
-
-To build your application without touching dependencies
-at all, you can use the `SKIP_DEPS` variable:
-
-[source,bash]
-$ make app SKIP_DEPS=1
-
-This command is very useful if you have a lot of dependencies
-and develop on a machine with slow file access, like the
-Raspberry Pi and many other embedded devices.
-
-Note that this command may fail if a required dependency
-is missing.
-
-==== Dependencies
-
-You can build all dependencies, and nothing else, by
-running the following command:
-
-[source,bash]
-$ make deps
-
-This will fetch and compile all dependencies and their
-dependencies, recursively.
-
-xref:deps[Packages and dependencies] are covered
-in the next chapter.
-
-==== Release
-
-It is not possible to build the release without at least
-building the application itself, unless of course if there's
-no application to begin with.
-
-To generate the release, `make` will generally suffice with
-a normal Erlang.mk. A separate target is however available,
-and will take care of building the release, after building
-the application and all dependencies:
-
-[source,bash]
-$ make rel
-
-Consult the xref:relx[Releases] chapter for more
-information about what releases are and how they are generated.
-
-=== Application resource file
-
-When building your application, Erlang.mk will generate the
-http://www.erlang.org/doc/man/app.html[application resource file].
-This file is mandatory for all Erlang applications and is
-found in 'ebin/$(PROJECT).app'.
-
-`PROJECT` is a variable defined in your Makefile and taken
-from the name of the directory when Erlang.mk bootstraps
-your project.
-
-Erlang.mk can build the 'ebin/$(PROJECT).app' in two different
-ways: from the configuration found in the Makefile, or from
-the 'src/$(PROJECT).app.src' file.
-
-==== Application configuration
-
-Erlang.mk automatically fills the `PROJECT` variable when
-bootstrapping a new project, but everything else is up to
-you. None of the values are required to build your project,
-although it is recommended to fill everything relevant to
-your situation.
-
-`PROJECT`::
- The name of the OTP application or library.
-`PROJECT_DESCRIPTION`::
- Short description of the project.
-`PROJECT_VERSION`::
- Current version of the project.
-`PROJECT_MOD`::
- The application callback module.
-`PROJECT_REGISTERED`::
- List of the names of all registered processes.
-`PROJECT_ENV`::
- Configuration parameters used by the application.
-`PROJECT_APP_EXTRA_KEYS`::
- Other keys you want to add to the application `.app` file.
- The variable content is written as-is to the `.app` file,
- so be sure to format valid Erlang terms. For example:
- `PROJECT_APP_EXTRA_KEYS = {maxT, 10000}, {start_phases, [...]}`.
-`LOCAL_DEPS`::
- List of Erlang/OTP applications this project depends on,
- excluding `erts`, `kernel` and `stdlib`, or list of
- dependencies local to this repository (in `APPS_DIR`).
-`DEPS`::
- List of applications this project depends on that need
- to be fetched by Erlang.mk.
-
-There's no need for quotes or anything. The relevant part of
-the Cowboy Makefile follows, if you need an example:
-
-[source,make]
-----
-PROJECT = cowboy
-PROJECT_DESCRIPTION = Small, fast, modular HTTP server.
-PROJECT_VERSION = 2.0.0-pre.2
-PROJECT_REGISTERED = cowboy_clock
-
-LOCAL_DEPS = crypto
-DEPS = cowlib ranch
-----
-
-Any space before and after the value is dropped.
-
-xref:deps[Dependencies] are covered in details in
-the next chapter.
-
-==== Application environment
-
-The `PROJECT_ENV` variable is used to set the application
-environment:
-
-[source,make]
-----
-define PROJECT_ENV
-[
- {chips, [currysauce,{mushypeas,false}]},
- {pizza, [{size,large},{toppings,[anchovies]}]}
-]
-endef
-----
-
-If you have a large set of environment variables, you may find it
-easier to use a separate file. Do this by including the following
-in your Makefile:
-
-[source,make]
-----
-PROJECT_ENV_FILE = src/env.src
-PROJECT_ENV = $(subst \n,$(newline),$(shell cat $(PROJECT_ENV_FILE) | sed -e 's/$$/\\n/;'))
-ebin/$(PROJECT).app:: $(PROJECT_ENV_FILE)
-----
-
-The file has the same contents as the `PROJECT_ENV` variable:
-
-[source,erlang]
-----
-[
- {chips, [currysauce,{mushypeas,false}]},
- {pizza, [{size,large},{toppings,[anchovies]}]}
-]
-----
-
-==== Legacy method
-
-The 'src/$(PROJECT).app.src' file is a legacy method of
-building Erlang applications. It was introduced by the original
-`rebar` build tool, of which Erlang.mk owes a great deal as it
-is its main inspiration.
-
-The '.app.src' file serves as a template to generate the '.app'
-file. Erlang.mk will take it, fill in the `modules` value
-dynamically, and save the result in 'ebin/$(PROJECT).app'.
-
-When using this method, Erlang.mk cannot fill the `applications`
-key from dependencies automatically, which means you need to
-add them to Erlang.mk and to the '.app.src' at the same time,
-duplicating the work.
-
-If you really can't live without the legacy method, for one
-reason or another, worry not; Erlang.mk will support it. And
-if you need to create a new project that uses this method, you
-just have to say so when bootstrapping:
-
-[source,bash]
-$ make -f erlang.mk bootstrap-lib LEGACY=1
-
-=== Automatic application resource file values
-
-When building the application resource file, Erlang.mk may
-automatically add an `id` key with information about the
-Git commit (if using Git), or an empty string otherwise.
-It will only do this under specific conditions:
-
-* The application was built as a dependency of another, or
-* The legacy method was used, and the '.app.src' file contained `{id, "git"}`
-
-This value is most useful when you need to help your users,
-as it allows you to know which version they run exactly by
-asking them to look in the file, or by running a simple
-command on their production server:
-
-[source,erlang]
-----
-1> application:get_all_key(cowboy).
-{ok,[{description,"Small, fast, modular HTTP server."},
- {id,"2.0.0-pre.2-25-g0ffde50-dirty"},
-----
-
-=== File formats
-
-Erlang.mk supports a variety of different source file formats.
-The following formats are supported natively:
-
-[cols="<,3*^",options="header"]
-|===
-| Extension | Location | Description | Output
-| .erl | src/ | Erlang source | ebin/*.beam
-| .core | src/ | Core Erlang source | ebin/*.beam
-| .xrl | src/ | Leex source | src/*.erl
-| .yrl | src/ | Yecc source | src/*.erl
-| .asn1 | asn1/ | ASN.1 files | include/*.hrl include/*.asn1db src/*.erl
-| .mib | mibs/ | SNMP MIB files | include/*.hrl priv/mibs/*.bin
-|===
-
-Files are always searched recursively.
-
-The build is ordered, so that files that generate Erlang source
-files are run before, and the resulting Erlang source files are
-then built normally.
-
-In addition, Erlang.mk keeps track of header files (`.hrl`)
-as described at the end of this chapter. It can also compile
-C code, as described in the xref:ports[NIFs and port drivers]
-chapter.
-
-Erlang.mk also comes with plugins for the following formats:
-
-[cols="<,3*^",options="header"]
-|===
-| Extension | Location | Description | Output
-| .dtl | templates/ | Django templates | ebin/*.beam
-| .proto | src/ | Protocol buffers | ebin/*.beam
-|===
-
-=== Compilation options
-
-Erlang.mk provides a few variables that you can use to customize
-the build process and the resulting files.
-
-==== ERLC_OPTS
-
-`ERLC_OPTS` can be used to pass some options to `erlc`, the Erlang
-compiler. Erlang.mk does not restrict any option. Please refer to
-the http://www.erlang.org/doc/man/erlc.html[erlc Manual] for the
-full list.
-
-By default, Erlang.mk will set the following options:
-
-[source,make]
-ERLC_OPTS = -Werror +debug_info +warn_export_vars +warn_shadow_vars +warn_obsolete_guard
-
-In other words: warnings as errors, debug info (recommended) and
-enable warnings for exported variables, shadow variables and
-obsolete guard functions.
-
-You can redefine this variable in your Makefile to change it
-completely, either before or after including Erlang.mk:
-
-[source,make]
-ERLC_OPTS = +debug_info
-
-You can also filter out some options from the defaults Erlang.mk
-sets, by defining ERLC_OPTS after including Erlang.mk using the
-`:=` operator.
-
-[source,make]
-----
-include erlang.mk
-
-ERLC_OPTS := $(filter-out -Werror,$(ERLC_OPTS))
-----
-
-==== ERLC_ASN1_OPTS
-
-`ERLC_ASN1_OPTS` can be used to pass compiler options when compiling
-ASN.1 files. Please refer to the
-http://erlang.org/doc/man/asn1ct.html[asn1ct manual] for the full list.
-
-By default, Erlang.mk will leave this empty.
-
-You can redefine this variable in your Makefile.
-Please see the `ERLC_OPTS` section for instructions.
-
-==== ERLC_EXCLUDE
-
-`ERLC_EXCLUDE` can be used to exclude some modules from the
-compilation. It's there for handling special cases, you should
-not normally need it.
-
-To exclude a module, simply list it in the variable, either
-before or after including Erlang.mk:
-
-[source,make]
-ERLC_EXCLUDE = cowboy_http2
-
-=== Cold and hot builds
-
-The first time you run `make`, Erlang.mk will build everything.
-
-The second time you run `make`, and all subsequent times, Erlang.mk
-will only rebuild what changed. Erlang.mk has been optimized for
-this use case, as it is the most common during development.
-
-Erlang.mk figures out what changed by using the dependency tracking
-feature of Make. Make automatically rebuilds a target if one of its
-dependency has changed (for example if a header file has changed,
-all the source files that include it will be rebuilt), and Erlang.mk
-leverages this feature to cut down on rebuild times.
-
-Note that this applies only to building; some other features of
-Erlang.mk will run every time they are called regardless of files
-changed.
-
-=== Dependency tracking
-
-NOTE: This section is about the dependency tracking between files
-inside your project, not application dependencies.
-
-Erlang.mk keeps track of the dependencies between the different
-files in your project. This information is kept in the '$(PROJECT).d'
-file in your directory. It is generated if missing, and will be
-generated again after every file change, by default.
-
-Dependency tracking is what allows Erlang.mk to know when to
-rebuild Erlang files when header files, behaviors or parse
-transforms have changed. Erlang.mk also automatically keeps
-track of which files should be compiled first, for example
-when you have behaviors used by other modules in your project.
-
-If your project is stable, you may want to disable generating
-the dependency tracking file every time you compile. You can
-do this by adding the following line to your 'Makefile':
-
-[source,make]
-NO_MAKEDEP ?= 1
-
-As you can see, the snippet above uses `?=` instead of a
-simple equal sign. This is to allow you to temporarily override
-this value when you do make substantial changes to your project
-(including a new header file, new module with dependencies, etc.)
-and want to rebuild the dependency tracking file. You'll be
-able to use the following command:
-
-[source,bash]
-$ NO_MAKEDEP= make
-
-Otherwise, `make clean app` will of course force the
-recompilation of your project.
-
-Erlang.mk can also keep track of the source files generated
-by other means, for example if you generate code from a data
-file in your repository.
-
-=== Generating Erlang source
-
-Erlang.mk provides hooks at different stages of the build process.
-When your goal is to generate Erlang source files, you can
-add your own rules before or after the dependency tracking
-file is generated. To do this, you would add your hook before
-or after including the 'erlang.mk' file.
-
-The easiest way is after:
-
-[source,make]
-----
-PROJECT = example
-
-include erlang.mk
-
-$(PROJECT).d:: src/generated_mod.erl
-
-src/generated_mod.erl:: gen-mod.sh
- $(gen_verbose) ./gen-mod.sh $@
-----
-
-In this case we use `$(gen_verbose)` to hide the details of
-the build by default. Erlang.mk will simply say what file
-is it currently generating.
-
-When using an external script to generate the Erlang source
-file, it is recommended to depend on that script, so that
-the source file gets generated again when the script gets
-modified.
-
-If for whatever reason you prefer to hook before including
-Erlang.mk, don't forget to set the `.DEFAULT_GOAL` variable,
-otherwise nothing will get built:
-
-[source,make]
-----
-PROJECT = example
-
-.DEFAULT_GOAL = all
-
-$(PROJECT).d:: src/generated_mod.erl
-
-include erlang.mk
-
-src/generated_mod.erl:: gen-mod.sh
- $(gen_verbose) ./gen-mod.sh $@
-----
-
-=== Cleaning
-
-Building typically involves creating a lot of new files. Some
-are reused in rebuilds, some are simply replaced. All can be
-removed safely.
-
-Erlang.mk provides two commands to remove them: `clean` and
-`distclean`. `clean` removes all the intermediate files that
-were created as a result of building, including the BEAM files,
-the dependency tracking file and the generated documentation.
-`distclean` removes these and more, including the downloaded
-dependencies, Dialyzer's PLT file and the generated release,
-putting your directory back to the state it was before you
-started working on it.
-
-To clean:
-
-[source,bash]
-$ make clean
-
-Or distclean:
-
-[source,bash]
-$ make distclean
-
-That is the question.
-
-Note that Erlang.mk will automatically clean some files as
-part of other targets, but it will never run `distclean` if
-you don't explicitly use it.
diff --git a/docs/en/erlang.mk/1/guide/app/index.html b/docs/en/erlang.mk/1/guide/app/index.html
deleted file mode 100644
index 51c80b32..00000000
--- a/docs/en/erlang.mk/1/guide/app/index.html
+++ /dev/null
@@ -1,522 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
-
- <title>Nine Nines: Building</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href="/css/99s.css?r=5" rel="stylesheet">
-
- <link rel="shortcut icon" href="/img/ico/favicon.ico">
- <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
- <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
- <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
-
-
-</head>
-
-
-<body class="">
- <header id="page-head">
- <div id="topbar" class="container">
- <div class="row">
- <div class="span2">
- <h1 id="logo"><a href="/" title="99s">99s</a></h1>
- </div>
- <div class="span10">
-
- <div id="side-header">
- <nav>
- <ul>
- <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
- <li><a title="Watch my talks" href="/talks">Talks</a></li>
- <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
- <li><a title="Request my services" href="/services">Consulting & Training</a></li>
- </ul>
- </nav>
- <ul id="social">
- <li>
- <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
- </li>
- <li>
- <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-
-</header>
-
-<div id="contents" class="two_col">
-<div class="container">
-<div class="row">
-<div id="docs" class="span9 maincol">
-
-<h1 class="lined-header"><span>Building</span></h1>
-
-<p>Erlang.mk can do a lot of things, but it is, first and foremost, a build tool. In this chapter we will cover the basics of building a project with Erlang.mk.</p>
-<p>For most of this chapter, we will assume that you are using a project <a href="../getting_started">generated by Erlang.mk</a>.</p>
-<h2 id="_how_to_build">How to build</h2>
-<p>To build a project, all you have to do is type <code>make</code>:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make</tt></pre>
-</div></div>
-<p>It will work regardless of your project: OTP applications, library applications, NIFs, port drivers or even releases. Erlang.mk also automatically downloads and compiles the dependencies for your project.</p>
-<p>All this is possible thanks to a combination of configuration and conventions. Most of the conventions come from Erlang/OTP itself so any seasoned Erlang developers should feel right at home.</p>
-<p>Erlang.mk supports multi-threaded building. Parallel execution is supported for all targets. To execute Erlang.mk in parallel the <code>-j</code> option must be used:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make -j<font color="#993399">8</font></tt></pre>
-</div></div>
-<p>The <code>MAKEFLAGS</code> variable can be used to enable parallel building permanently on your system. It can be set in your <code>.zshrc</code>, <code>.bashrc</code> or equivalent file.</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">MAKEFLAGS</font><font color="#990000">=</font><font color="#FF0000">"-j8"</font></tt></pre>
-</div></div>
-<h2 id="_what_to_build">What to build</h2>
-<p>Erlang.mk gives you control over three steps of the build process, allowing you to do a partial build if needed.</p>
-<p>A build has three phases: first any dependency is fetched and built, then the project itself is built and finally a release may be generated when applicable. A release is only generated for projects specifically configured to do so.</p>
-<p>Erlang.mk handles those three phases automatically when you type <code>make</code>. But sometimes you just want to repeat one or two of them.</p>
-<p>The commands detailed in this section are most useful after you have a successful build as they allow you to quickly redo a step instead of going through everything. This is especially useful for large projects or projects that end up generating releases.</p>
-<h4 id="_application">Application</h4>
-<p>You can build your application and dependencies without generating a release by running the following command:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make app</tt></pre>
-</div></div>
-<p>To build your application without touching dependencies at all, you can use the <code>SKIP_DEPS</code> variable:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make app <font color="#009900">SKIP_DEPS</font><font color="#990000">=</font><font color="#993399">1</font></tt></pre>
-</div></div>
-<p>This command is very useful if you have a lot of dependencies and develop on a machine with slow file access, like the Raspberry Pi and many other embedded devices.</p>
-<p>Note that this command may fail if a required dependency is missing.</p>
-<h4 id="_dependencies">Dependencies</h4>
-<p>You can build all dependencies, and nothing else, by running the following command:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make deps</tt></pre>
-</div></div>
-<p>This will fetch and compile all dependencies and their dependencies, recursively.</p>
-<p><a href="../deps">Packages and dependencies</a> are covered in the next chapter.</p>
-<h4 id="_release">Release</h4>
-<p>It is not possible to build the release without at least building the application itself, unless of course if there&apos;s no application to begin with.</p>
-<p>To generate the release, <code>make</code> will generally suffice with a normal Erlang.mk. A separate target is however available, and will take care of building the release, after building the application and all dependencies:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make rel</tt></pre>
-</div></div>
-<p>Consult the <a href="../relx">Releases</a> chapter for more information about what releases are and how they are generated.</p>
-<h2 id="_application_resource_file">Application resource file</h2>
-<p>When building your application, Erlang.mk will generate the <a href="http://www.erlang.org/doc/man/app.html">application resource file</a>. This file is mandatory for all Erlang applications and is found in <em>ebin/$(PROJECT).app</em>.</p>
-<p><code>PROJECT</code> is a variable defined in your Makefile and taken from the name of the directory when Erlang.mk bootstraps your project.</p>
-<p>Erlang.mk can build the <em>ebin/$(PROJECT).app</em> in two different ways: from the configuration found in the Makefile, or from the <em>src/$(PROJECT).app.src</em> file.</p>
-<h4 id="_application_configuration">Application configuration</h4>
-<p>Erlang.mk automatically fills the <code>PROJECT</code> variable when bootstrapping a new project, but everything else is up to you. None of the values are required to build your project, although it is recommended to fill everything relevant to your situation.</p>
-<dl><dt><code>PROJECT</code></dt>
-<dd><p>The name of the OTP application or library.</p>
-</dd>
-<dt><code>PROJECT_DESCRIPTION</code></dt>
-<dd><p>Short description of the project.</p>
-</dd>
-<dt><code>PROJECT_VERSION</code></dt>
-<dd><p>Current version of the project.</p>
-</dd>
-<dt><code>PROJECT_MOD</code></dt>
-<dd><p>The application callback module.</p>
-</dd>
-<dt><code>PROJECT_REGISTERED</code></dt>
-<dd><p>List of the names of all registered processes.</p>
-</dd>
-<dt><code>PROJECT_ENV</code></dt>
-<dd><p>Configuration parameters used by the application.</p>
-</dd>
-<dt><code>PROJECT_APP_EXTRA_KEYS</code></dt>
-<dd><p>Other keys you want to add to the application <code>.app</code> file. The variable content is written as-is to the <code>.app</code> file, so be sure to format valid Erlang terms. For example: <code>PROJECT_APP_EXTRA_KEYS = {maxT, 10000}, {start_phases, [...]}</code>.</p>
-</dd>
-<dt><code>LOCAL_DEPS</code></dt>
-<dd><p>List of Erlang/OTP applications this project depends on, excluding <code>erts</code>, <code>kernel</code> and <code>stdlib</code>, or list of dependencies local to this repository (in <code>APPS_DIR</code>).</p>
-</dd>
-<dt><code>DEPS</code></dt>
-<dd><p>List of applications this project depends on that need to be fetched by Erlang.mk.</p>
-</dd>
-</dl>
-<p>There&apos;s no need for quotes or anything. The relevant part of the Cowboy Makefile follows, if you need an example:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">PROJECT =</font> cowboy
-<font color="#009900">PROJECT_DESCRIPTION =</font> Small<font color="#990000">,</font> fast<font color="#990000">,</font> modular HTTP server<font color="#990000">.</font>
-<font color="#009900">PROJECT_VERSION =</font> 2.0.0-pre.2
-<font color="#009900">PROJECT_REGISTERED =</font> cowboy_clock
-
-<font color="#009900">LOCAL_DEPS =</font> crypto
-<font color="#009900">DEPS =</font> cowlib ranch</tt></pre>
-</div></div>
-<p>Any space before and after the value is dropped.</p>
-<p><a href="../deps">Dependencies</a> are covered in details in the next chapter.</p>
-<h4 id="_application_environment">Application environment</h4>
-<p>The <code>PROJECT_ENV</code> variable is used to set the application environment:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>define PROJECT_ENV
-<font color="#990000">[</font>
- {chips<font color="#990000">,</font> <font color="#990000">[</font>currysauce<font color="#990000">,</font>{mushypeas<font color="#990000">,</font><b><font color="#0000FF">false</font></b>}<font color="#990000">]</font>}<font color="#990000">,</font>
- {pizza<font color="#990000">,</font> <font color="#990000">[</font>{size<font color="#990000">,</font>large}<font color="#990000">,</font>{toppings<font color="#990000">,[</font>anchovies<font color="#990000">]</font>}<font color="#990000">]</font>}
-<font color="#990000">]</font>
-endef</tt></pre>
-</div></div>
-<p>If you have a large set of environment variables, you may find it easier to use a separate file. Do this by including the following in your Makefile:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">PROJECT_ENV_FILE =</font> src/env.src
-<font color="#009900">PROJECT_ENV =</font> <font color="#009900">$(</font>subst <font color="#990000">\</font>n<font color="#990000">,</font><font color="#009900">$(newline)</font><font color="#990000">,</font><font color="#009900">$(</font>shell cat <font color="#009900">$(PROJECT_ENV_FILE)</font> <font color="#990000">|</font> sed -e <font color="#FF0000">'s/$$/</font><font color="#CC33CC">\\</font><font color="#FF0000">n/;'</font><font color="#990000">))</font>
-ebin<font color="#990000">/</font><font color="#009900">$(PROJECT)</font>.app<font color="#990000">::</font> <font color="#009900">$(PROJECT_ENV_FILE)</font></tt></pre>
-</div></div>
-<p>The file has the same contents as the <code>PROJECT_ENV</code> variable:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>[
- {<font color="#FF6600">chips</font>, [<font color="#FF6600">currysauce</font>,{<font color="#FF6600">mushypeas</font>,<font color="#000080">false</font>}]},
- {<font color="#FF6600">pizza</font>, [{<b><font color="#000080">size</font></b>,<font color="#FF6600">large</font>},{<font color="#FF6600">toppings</font>,[<font color="#FF6600">anchovies</font>]}]}
-]</tt></pre>
-</div></div>
-<h4 id="_legacy_method">Legacy method</h4>
-<p>The <em>src/$(PROJECT).app.src</em> file is a legacy method of building Erlang applications. It was introduced by the original <code>rebar</code> build tool, of which Erlang.mk owes a great deal as it is its main inspiration.</p>
-<p>The <em>.app.src</em> file serves as a template to generate the <em>.app</em> file. Erlang.mk will take it, fill in the <code>modules</code> value dynamically, and save the result in <em>ebin/$(PROJECT).app</em>.</p>
-<p>When using this method, Erlang.mk cannot fill the <code>applications</code> key from dependencies automatically, which means you need to add them to Erlang.mk and to the <em>.app.src</em> at the same time, duplicating the work.</p>
-<p>If you really can&apos;t live without the legacy method, for one reason or another, worry not; Erlang.mk will support it. And if you need to create a new project that uses this method, you just have to say so when bootstrapping:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make -f erlang<font color="#990000">.</font>mk bootstrap-lib <font color="#009900">LEGACY</font><font color="#990000">=</font><font color="#993399">1</font></tt></pre>
-</div></div>
-<h2 id="_automatic_application_resource_file_values">Automatic application resource file values</h2>
-<p>When building the application resource file, Erlang.mk may automatically add an <code>id</code> key with information about the Git commit (if using Git), or an empty string otherwise. It will only do this under specific conditions:</p>
-<ul><li>The application was built as a dependency of another, or
-</li>
-<li>The legacy method was used, and the <em>.app.src</em> file contained <code>{id, &quot;git&quot;}</code>
-</li>
-</ul>
-<p>This value is most useful when you need to help your users, as it allows you to know which version they run exactly by asking them to look in the file, or by running a simple command on their production server:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#993399">1</font><font color="#990000">&gt;</font> <b><font color="#000000">application:get_all_key</font></b>(<font color="#FF6600">cowboy</font>)<font color="#990000">.</font>
-{<font color="#FF6600">ok</font>,[{<font color="#FF6600">description</font>,<font color="#FF0000">"Small, fast, modular HTTP server."</font>},
- {<font color="#FF6600">id</font>,<font color="#FF0000">"2.0.0-pre.2-25-g0ffde50-dirty"</font>},</tt></pre>
-</div></div>
-<h2 id="_file_formats">File formats</h2>
-<p>Erlang.mk supports a variety of different source file formats. The following formats are supported natively:</p>
-<table rules="all" width="100%" frame="border"
- cellspacing="0" cellpadding="4">
-<thead><tr><th>Extension</th>
-<th>Location</th>
-<th>Description</th>
-<th>Output</th>
-</tr></thead><tbody><tr><td>.erl</td>
-<td>src/</td>
-<td>Erlang source</td>
-<td>ebin/*.beam</td>
-</tr>
-<tr><td>.core</td>
-<td>src/</td>
-<td>Core Erlang source</td>
-<td>ebin/*.beam</td>
-</tr>
-<tr><td>.xrl</td>
-<td>src/</td>
-<td>Leex source</td>
-<td>src/*.erl</td>
-</tr>
-<tr><td>.yrl</td>
-<td>src/</td>
-<td>Yecc source</td>
-<td>src/*.erl</td>
-</tr>
-<tr><td>.asn1</td>
-<td>asn1/</td>
-<td>ASN.1 files</td>
-<td>include/*.hrl include/*.asn1db src/*.erl</td>
-</tr>
-<tr><td>.mib</td>
-<td>mibs/</td>
-<td>SNMP MIB files</td>
-<td>include/*.hrl priv/mibs/*.bin</td>
-</tr>
-</tbody></table>
-<p>Files are always searched recursively.</p>
-<p>The build is ordered, so that files that generate Erlang source files are run before, and the resulting Erlang source files are then built normally.</p>
-<p>In addition, Erlang.mk keeps track of header files (<code>.hrl</code>) as described at the end of this chapter. It can also compile C code, as described in the <a href="../ports">NIFs and port drivers</a> chapter.</p>
-<p>Erlang.mk also comes with plugins for the following formats:</p>
-<table rules="all" width="100%" frame="border"
- cellspacing="0" cellpadding="4">
-<thead><tr><th>Extension</th>
-<th>Location</th>
-<th>Description</th>
-<th>Output</th>
-</tr></thead><tbody><tr><td>.dtl</td>
-<td>templates/</td>
-<td>Django templates</td>
-<td>ebin/*.beam</td>
-</tr>
-<tr><td>.proto</td>
-<td>src/</td>
-<td>Protocol buffers</td>
-<td>ebin/*.beam</td>
-</tr>
-</tbody></table>
-<h2 id="_compilation_options">Compilation options</h2>
-<p>Erlang.mk provides a few variables that you can use to customize the build process and the resulting files.</p>
-<h4 id="_erlc_opts">ERLC_OPTS</h4>
-<p><code>ERLC_OPTS</code> can be used to pass some options to <code>erlc</code>, the Erlang compiler. Erlang.mk does not restrict any option. Please refer to the <a href="http://www.erlang.org/doc/man/erlc.html">erlc Manual</a> for the full list.</p>
-<p>By default, Erlang.mk will set the following options:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">ERLC_OPTS =</font> -Werror <font color="#990000">+</font>debug_info <font color="#990000">+</font>warn_export_vars <font color="#990000">+</font>warn_shadow_vars <font color="#990000">+</font>warn_obsolete_guard</tt></pre>
-</div></div>
-<p>In other words: warnings as errors, debug info (recommended) and enable warnings for exported variables, shadow variables and obsolete guard functions.</p>
-<p>You can redefine this variable in your Makefile to change it completely, either before or after including Erlang.mk:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">ERLC_OPTS =</font> <font color="#990000">+</font>debug_info</tt></pre>
-</div></div>
-<p>You can also filter out some options from the defaults Erlang.mk sets, by defining ERLC_OPTS after including Erlang.mk using the <code>:=</code> operator.</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>include erlang.mk
-
-<font color="#990000">ERLC_OPTS :=</font> <font color="#009900">$(</font>filter-out -Werror<font color="#990000">,</font><font color="#009900">$(ERLC_OPTS))</font></tt></pre>
-</div></div>
-<h4 id="_erlc_asn1_opts">ERLC_ASN1_OPTS</h4>
-<p><code>ERLC_ASN1_OPTS</code> can be used to pass compiler options when compiling ASN.1 files. Please refer to the <a href="http://erlang.org/doc/man/asn1ct.html">asn1ct manual</a> for the full list.</p>
-<p>By default, Erlang.mk will leave this empty.</p>
-<p>You can redefine this variable in your Makefile. Please see the <code>ERLC_OPTS</code> section for instructions.</p>
-<h4 id="_erlc_exclude">ERLC_EXCLUDE</h4>
-<p><code>ERLC_EXCLUDE</code> can be used to exclude some modules from the compilation. It&apos;s there for handling special cases, you should not normally need it.</p>
-<p>To exclude a module, simply list it in the variable, either before or after including Erlang.mk:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">ERLC_EXCLUDE =</font> cowboy_http2</tt></pre>
-</div></div>
-<h2 id="_cold_and_hot_builds">Cold and hot builds</h2>
-<p>The first time you run <code>make</code>, Erlang.mk will build everything.</p>
-<p>The second time you run <code>make</code>, and all subsequent times, Erlang.mk will only rebuild what changed. Erlang.mk has been optimized for this use case, as it is the most common during development.</p>
-<p>Erlang.mk figures out what changed by using the dependency tracking feature of Make. Make automatically rebuilds a target if one of its dependency has changed (for example if a header file has changed, all the source files that include it will be rebuilt), and Erlang.mk leverages this feature to cut down on rebuild times.</p>
-<p>Note that this applies only to building; some other features of Erlang.mk will run every time they are called regardless of files changed.</p>
-<h2 id="_dependency_tracking">Dependency tracking</h2>
-<p>NOTE: This section is about the dependency tracking between files inside your project, not application dependencies.</p>
-<p>Erlang.mk keeps track of the dependencies between the different files in your project. This information is kept in the <em>$(PROJECT).d</em> file in your directory. It is generated if missing, and will be generated again after every file change, by default.</p>
-<p>Dependency tracking is what allows Erlang.mk to know when to rebuild Erlang files when header files, behaviors or parse transforms have changed. Erlang.mk also automatically keeps track of which files should be compiled first, for example when you have behaviors used by other modules in your project.</p>
-<p>If your project is stable, you may want to disable generating the dependency tracking file every time you compile. You can do this by adding the following line to your <em>Makefile</em>:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>NO_MAKEDEP <font color="#990000">?=</font> <font color="#993399">1</font></tt></pre>
-</div></div>
-<p>As you can see, the snippet above uses <code>?=</code> instead of a simple equal sign. This is to allow you to temporarily override this value when you do make substantial changes to your project (including a new header file, new module with dependencies, etc.) and want to rebuild the dependency tracking file. You&apos;ll be able to use the following command:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ <font color="#009900">NO_MAKEDEP</font><font color="#990000">=</font> make</tt></pre>
-</div></div>
-<p>Otherwise, <code>make clean app</code> will of course force the recompilation of your project.</p>
-<p>Erlang.mk can also keep track of the source files generated by other means, for example if you generate code from a data file in your repository.</p>
-<h2 id="_generating_erlang_source">Generating Erlang source</h2>
-<p>Erlang.mk provides hooks at different stages of the build process. When your goal is to generate Erlang source files, you can add your own rules before or after the dependency tracking file is generated. To do this, you would add your hook before or after including the <em>erlang.mk</em> file.</p>
-<p>The easiest way is after:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">PROJECT =</font> example
-
-include erlang.mk
-
-<font color="#009900">$(PROJECT)</font>.d<font color="#990000">::</font> src/generated_mod.erl
-
-src/generated_mod.erl<font color="#990000">::</font> gen-mod.sh
- <font color="#009900">$(gen_verbose)</font> <font color="#990000">.</font>/gen-mod.sh <font color="#009900">$@</font></tt></pre>
-</div></div>
-<p>In this case we use <code>$(gen_verbose)</code> to hide the details of the build by default. Erlang.mk will simply say what file is it currently generating.</p>
-<p>When using an external script to generate the Erlang source file, it is recommended to depend on that script, so that the source file gets generated again when the script gets modified.</p>
-<p>If for whatever reason you prefer to hook before including Erlang.mk, don&apos;t forget to set the <code>.DEFAULT_GOAL</code> variable, otherwise nothing will get built:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">PROJECT =</font> example
-
-.DEFAULT_GOAL <font color="#990000">=</font> all
-
-<font color="#009900">$(PROJECT)</font>.d<font color="#990000">::</font> src/generated_mod.erl
-
-include erlang.mk
-
-src/generated_mod.erl<font color="#990000">::</font> gen-mod.sh
- <font color="#009900">$(gen_verbose)</font> <font color="#990000">.</font>/gen-mod.sh <font color="#009900">$@</font></tt></pre>
-</div></div>
-<h2 id="_cleaning">Cleaning</h2>
-<p>Building typically involves creating a lot of new files. Some are reused in rebuilds, some are simply replaced. All can be removed safely.</p>
-<p>Erlang.mk provides two commands to remove them: <code>clean</code> and <code>distclean</code>. <code>clean</code> removes all the intermediate files that were created as a result of building, including the BEAM files, the dependency tracking file and the generated documentation. <code>distclean</code> removes these and more, including the downloaded dependencies, Dialyzer&apos;s PLT file and the generated release, putting your directory back to the state it was before you started working on it.</p>
-<p>To clean:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make clean</tt></pre>
-</div></div>
-<p>Or distclean:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make distclean</tt></pre>
-</div></div>
-<p>That is the question.</p>
-<p>Note that Erlang.mk will automatically clean some files as part of other targets, but it will never run <code>distclean</code> if you don&apos;t explicitly use it.</p>
-
-
-
-
-
-
-
-
-
-
-
- <nav style="margin:1em 0">
-
- <a style="float:left" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/limitations/">
- Limitations
- </a>
-
-
-
- <a style="float:right" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/deps/">
- Packages and dependencies
- </a>
-
- </nav>
-
-
-
-
-</div>
-
-<div class="span3 sidecol">
-
-
-<h3>
- Erlang.mk
- 1
-
- User Guide
-</h3>
-
-<ul>
-
-
-
-</ul>
-
-<h4 id="docs-nav">Navigation</h4>
-
-<h4>Version select</h4>
-<ul>
-
-
-
- <li><a href="/docs/en/erlang.mk/1/guide">1</a></li>
-
-</ul>
-
-<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
-<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
-<input type="hidden" name="cmd" value="_donations">
-<input type="hidden" name="business" value="[email protected]">
-<input type="hidden" name="lc" value="FR">
-<input type="hidden" name="item_name" value="Loic Hoguin">
-<input type="hidden" name="item_number" value="99s">
-<input type="hidden" name="currency_code" value="EUR">
-<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
-</form><p>Recurring payment options are also available via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to cover the recurring expenses like dedicated servers or domain names.</p>
-
-
-
-</div>
-</div>
-</div>
-</div>
-
- <footer>
- <div class="container">
- <div class="row">
- <div class="span6">
- <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
- <nav>
- <ul>
- <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
- </ul>
- </nav>
- </div>
- <div class="span6 credits">
- <p><img src="/img/footer_logo.png"></p>
- <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
- </div>
- </div>
- </div>
- </footer>
-
-
- <script src="/js/custom.js"></script>
- </body>
-</html>
-
-
diff --git a/docs/en/erlang.mk/1/guide/asciidoc.asciidoc b/docs/en/erlang.mk/1/guide/asciidoc.asciidoc
deleted file mode 100644
index cc8336bf..00000000
--- a/docs/en/erlang.mk/1/guide/asciidoc.asciidoc
+++ /dev/null
@@ -1,82 +0,0 @@
-[[asciidoc]]
-== AsciiDoc documentation
-
-Erlang.mk provides rules for generating documentation from
-AsciiDoc files. It can automatically build a user guide PDF,
-chunked HTML documentation and Unix manual pages.
-
-=== Requirements
-
-It is necessary to have http://asciidoc.org/[AsciiDoc],
-http://xmlsoft.org/XSLT/xsltproc2.html[xsltproc] and
-http://dblatex.sourceforge.net/[dblatex] installed on your
-system for Erlang.mk to generate documentation from AsciiDoc sources.
-
-=== Writing AsciiDoc documentation
-
-http://asciidoc.org/[AsciiDoc] is a text document format for
-writing notes, documentation, articles, books, ebooks, slideshows,
-web pages, man pages and blogs. AsciiDoc files can be translated
-to many formats including HTML, PDF, EPUB, man page.
-
-The http://asciidoc.org/userguide.html[AsciiDoc user guide]
-describes the AsciiDoc syntax.
-
-The https://github.com/ninenines/erlang.mk/tree/master/doc/src/guide[Erlang.mk user guide]
-is written in AsciiDoc and can be used as an example. The entry
-file is https://github.com/ninenines/erlang.mk/blob/master/doc/src/guide/book.asciidoc[book.asciidoc].
-
-Erlang.mk expects you to put your documentation in a specific
-location. This is 'doc/src/guide/' for the user guide, and
-'doc/src/manual/' for the function reference. In the case of
-the user guide, the entry point is always 'doc/src/guide/book.asciidoc'.
-
-For manual pages, it is good practice to use section 3 for
-modules, and section 7 for the application itself.
-
-=== Configuration
-
-All of the AsciiDoc related configuration can be done directly
-inside the files themselves.
-
-=== Usage
-
-To build all documentation:
-
-[source,bash]
-$ make docs
-
-To build only the AsciiDoc documentation:
-
-[source,bash]
-$ make asciidoc
-
-To build only the user guide:
-
-[source,bash]
-$ make asciidoc-guide
-
-To build only the manual:
-
-[source,bash]
-$ make asciidoc-manual
-
-To install man pages on Unix:
-
-[source,bash]
-$ make install-docs
-
-Erlang.mk allows customizing the installation path and sections
-of the man pages to be installed. The `MAN_INSTALL_PATH` variable
-defines where man pages will be installed. It defaults to
-'/usr/local/share/man'. The `MAN_SECTIONS` variable defines
-which manual sections are to be installed. It defaults to `3 7`.
-
-To install man pages to a custom location:
-
-[source,bash]
-$ make install-docs MAN_INSTALL_PATH=/opt/share/man
-
-Note that you may need to run the install commands using
-`sudo` or equivalent if the location is not writeable by
-your user.
diff --git a/docs/en/erlang.mk/1/guide/asciidoc/index.html b/docs/en/erlang.mk/1/guide/asciidoc/index.html
deleted file mode 100644
index a695b257..00000000
--- a/docs/en/erlang.mk/1/guide/asciidoc/index.html
+++ /dev/null
@@ -1,223 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
-
- <title>Nine Nines: AsciiDoc documentation</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href="/css/99s.css?r=5" rel="stylesheet">
-
- <link rel="shortcut icon" href="/img/ico/favicon.ico">
- <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
- <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
- <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
-
-
-</head>
-
-
-<body class="">
- <header id="page-head">
- <div id="topbar" class="container">
- <div class="row">
- <div class="span2">
- <h1 id="logo"><a href="/" title="99s">99s</a></h1>
- </div>
- <div class="span10">
-
- <div id="side-header">
- <nav>
- <ul>
- <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
- <li><a title="Watch my talks" href="/talks">Talks</a></li>
- <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
- <li><a title="Request my services" href="/services">Consulting & Training</a></li>
- </ul>
- </nav>
- <ul id="social">
- <li>
- <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
- </li>
- <li>
- <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-
-</header>
-
-<div id="contents" class="two_col">
-<div class="container">
-<div class="row">
-<div id="docs" class="span9 maincol">
-
-<h1 class="lined-header"><span>AsciiDoc documentation</span></h1>
-
-<p>Erlang.mk provides rules for generating documentation from AsciiDoc files. It can automatically build a user guide PDF, chunked HTML documentation and Unix manual pages.</p>
-<h2 id="_requirements">Requirements</h2>
-<p>It is necessary to have <a href="http://asciidoc.org/">AsciiDoc</a>, <a href="http://xmlsoft.org/XSLT/xsltproc2.html">xsltproc</a> and <a href="http://dblatex.sourceforge.net/">dblatex</a> installed on your system for Erlang.mk to generate documentation from AsciiDoc sources.</p>
-<h2 id="_writing_asciidoc_documentation">Writing AsciiDoc documentation</h2>
-<p><a href="http://asciidoc.org/">AsciiDoc</a> is a text document format for writing notes, documentation, articles, books, ebooks, slideshows, web pages, man pages and blogs. AsciiDoc files can be translated to many formats including HTML, PDF, EPUB, man page.</p>
-<p>The <a href="http://asciidoc.org/userguide.html">AsciiDoc user guide</a> describes the AsciiDoc syntax.</p>
-<p>The <a href="https://github.com/ninenines/erlang.mk/tree/master/doc/src/guide">Erlang.mk user guide</a> is written in AsciiDoc and can be used as an example. The entry file is <a href="https://github.com/ninenines/erlang.mk/blob/master/doc/src/guide/book.asciidoc">book.asciidoc</a>.</p>
-<p>Erlang.mk expects you to put your documentation in a specific location. This is <em>doc/src/guide/</em> for the user guide, and <em>doc/src/manual/</em> for the function reference. In the case of the user guide, the entry point is always <em>doc/src/guide/book.asciidoc</em>.</p>
-<p>For manual pages, it is good practice to use section 3 for modules, and section 7 for the application itself.</p>
-<h2 id="_configuration">Configuration</h2>
-<p>All of the AsciiDoc related configuration can be done directly inside the files themselves.</p>
-<h2 id="_usage">Usage</h2>
-<p>To build all documentation:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make docs</tt></pre>
-</div></div>
-<p>To build only the AsciiDoc documentation:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make asciidoc</tt></pre>
-</div></div>
-<p>To build only the user guide:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make asciidoc-guide</tt></pre>
-</div></div>
-<p>To build only the manual:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make asciidoc-manual</tt></pre>
-</div></div>
-<p>To install man pages on Unix:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make install-docs</tt></pre>
-</div></div>
-<p>Erlang.mk allows customizing the installation path and sections of the man pages to be installed. The <code>MAN_INSTALL_PATH</code> variable defines where man pages will be installed. It defaults to <em>/usr/local/share/man</em>. The <code>MAN_SECTIONS</code> variable defines which manual sections are to be installed. It defaults to <code>3 7</code>.</p>
-<p>To install man pages to a custom location:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make install-docs <font color="#009900">MAN_INSTALL_PATH</font><font color="#990000">=</font>/opt/share/man</tt></pre>
-</div></div>
-<p>Note that you may need to run the install commands using <code>sudo</code> or equivalent if the location is not writeable by your user.</p>
-
-
-
-
-
-
-
-
-
-
-
- <nav style="margin:1em 0">
-
- <a style="float:left" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/compat/">
- Compatibility with other build tools
- </a>
-
-
-
- <a style="float:right" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/edoc/">
- EDoc comments
- </a>
-
- </nav>
-
-
-
-
-</div>
-
-<div class="span3 sidecol">
-
-
-<h3>
- Erlang.mk
- 1
-
- User Guide
-</h3>
-
-<ul>
-
-
-
-</ul>
-
-<h4 id="docs-nav">Navigation</h4>
-
-<h4>Version select</h4>
-<ul>
-
-
-
- <li><a href="/docs/en/erlang.mk/1/guide">1</a></li>
-
-</ul>
-
-<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
-<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
-<input type="hidden" name="cmd" value="_donations">
-<input type="hidden" name="business" value="[email protected]">
-<input type="hidden" name="lc" value="FR">
-<input type="hidden" name="item_name" value="Loic Hoguin">
-<input type="hidden" name="item_number" value="99s">
-<input type="hidden" name="currency_code" value="EUR">
-<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
-</form><p>Recurring payment options are also available via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to cover the recurring expenses like dedicated servers or domain names.</p>
-
-
-
-</div>
-</div>
-</div>
-</div>
-
- <footer>
- <div class="container">
- <div class="row">
- <div class="span6">
- <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
- <nav>
- <ul>
- <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
- </ul>
- </nav>
- </div>
- <div class="span6 credits">
- <p><img src="/img/footer_logo.png"></p>
- <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
- </div>
- </div>
- </div>
- </footer>
-
-
- <script src="/js/custom.js"></script>
- </body>
-</html>
-
-
diff --git a/docs/en/erlang.mk/1/guide/ci.asciidoc b/docs/en/erlang.mk/1/guide/ci.asciidoc
deleted file mode 100644
index 2b69e282..00000000
--- a/docs/en/erlang.mk/1/guide/ci.asciidoc
+++ /dev/null
@@ -1,66 +0,0 @@
-[[ci]]
-== Continuous integration
-
-Erlang.mk comes with some support for continuous integration,
-aimed at open source projects that need to support more than
-one specific Erlang/OTP release. (If you target one specific
-release, check the xref:otp_version_pinning[OTP version pinning]
-section of the xref:kerl[OTP version management] chapter.)
-
-=== Configuring Erlang/OTP versions to test
-
-To use the CI plugin you must first configure which versions
-of Erlang/OTP will be used. Erlang.mk provides three separate
-configuration variables depending on whether you need a normal
-OTP release, a HiPE-enabled release or an ErLLVM-enabled release.
-
-At the time of writing, this is how you would test against all
-the most recent patch releases of Erlang/OTP 19 and above:
-
-[source,make]
-CI_OTP = OTP-19.0.7 OTP-19.1.6 OTP-19.2.3 OTP-19.3.6.2 OTP-20.0.4
-
-If you want to test against HiPE and ErLLVM but only with the
-latest version of Erlang/OTP, the following could work:
-
-[source,make]
-CI_HIPE = $(lastword $(CI_OTP))
-CI_ERLLVM = $(CI_HIPE)
-
-Consult the xref:kerl[OTP version management] chapter for more
-information about Erlang/OTP versions and customization of the
-Erlang/OTP builds.
-
-=== Running tests across all configured versions
-
-The recommended way to run the `ci` target is with the option
-`-k`. It will ensure that tests are run for all configured
-Erlang/OTP versions, even if there are errors:
-
-[source,bash]
-$ make ci -k
-
-=== Extending the CI targets
-
-The `ci` target can be extended. For example to run Dialyzer
-at the end of CI:
-
-[source,make]
-----
-ci:: dialyze
-----
-
-Additional setup can be done by extending the `ci-setup`
-target. This target is ran before testing each individual
-Erlang/OTP version.
-
-For example, to ensure dependencies are re-fetched/built
-before testing individual Erlang/OTP releases:
-
-[source,make]
-----
-ci-setup:: distclean
-----
-
-Similarly, the `ci-extra` target can be extended to run
-extra commands after an Erlang/OTP version has been tested.
diff --git a/docs/en/erlang.mk/1/guide/ci/index.html b/docs/en/erlang.mk/1/guide/ci/index.html
deleted file mode 100644
index 75a03bbc..00000000
--- a/docs/en/erlang.mk/1/guide/ci/index.html
+++ /dev/null
@@ -1,211 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
-
- <title>Nine Nines: Continuous integration</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href="/css/99s.css?r=5" rel="stylesheet">
-
- <link rel="shortcut icon" href="/img/ico/favicon.ico">
- <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
- <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
- <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
-
-
-</head>
-
-
-<body class="">
- <header id="page-head">
- <div id="topbar" class="container">
- <div class="row">
- <div class="span2">
- <h1 id="logo"><a href="/" title="99s">99s</a></h1>
- </div>
- <div class="span10">
-
- <div id="side-header">
- <nav>
- <ul>
- <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
- <li><a title="Watch my talks" href="/talks">Talks</a></li>
- <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
- <li><a title="Request my services" href="/services">Consulting & Training</a></li>
- </ul>
- </nav>
- <ul id="social">
- <li>
- <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
- </li>
- <li>
- <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-
-</header>
-
-<div id="contents" class="two_col">
-<div class="container">
-<div class="row">
-<div id="docs" class="span9 maincol">
-
-<h1 class="lined-header"><span>Continuous integration</span></h1>
-
-<p>Erlang.mk comes with some support for continuous integration, aimed at open source projects that need to support more than one specific Erlang/OTP release. (If you target one specific release, check the <a href="../otp_version_pinning">OTP version pinning</a> section of the <a href="../kerl">OTP version management</a> chapter.)</p>
-<h2 id="_configuring_erlang_otp_versions_to_test">Configuring Erlang/OTP versions to test</h2>
-<p>To use the CI plugin you must first configure which versions of Erlang/OTP will be used. Erlang.mk provides three separate configuration variables depending on whether you need a normal OTP release, a HiPE-enabled release or an ErLLVM-enabled release.</p>
-<p>At the time of writing, this is how you would test against all the most recent patch releases of Erlang/OTP 19 and above:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">CI_OTP =</font> OTP-19.0.7 OTP-19.1.6 OTP-19.2.3 OTP-19.3.6.2 OTP-20.0.4</tt></pre>
-</div></div>
-<p>If you want to test against HiPE and ErLLVM but only with the latest version of Erlang/OTP, the following could work:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">CI_HIPE =</font> <font color="#009900">$(</font>lastword <font color="#009900">$(CI_OTP))</font>
-<font color="#009900">CI_ERLLVM =</font> <font color="#009900">$(CI_HIPE)</font></tt></pre>
-</div></div>
-<p>Consult the <a href="../kerl">OTP version management</a> chapter for more information about Erlang/OTP versions and customization of the Erlang/OTP builds.</p>
-<h2 id="_running_tests_across_all_configured_versions">Running tests across all configured versions</h2>
-<p>The recommended way to run the <code>ci</code> target is with the option <code>-k</code>. It will ensure that tests are run for all configured Erlang/OTP versions, even if there are errors:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make ci -k</tt></pre>
-</div></div>
-<h2 id="_extending_the_ci_targets">Extending the CI targets</h2>
-<p>The <code>ci</code> target can be extended. For example to run Dialyzer at the end of CI:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#990000">ci::</font> dialyze</tt></pre>
-</div></div>
-<p>Additional setup can be done by extending the <code>ci-setup</code> target. This target is ran before testing each individual Erlang/OTP version.</p>
-<p>For example, to ensure dependencies are re-fetched/built before testing individual Erlang/OTP releases:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#990000">ci-setup::</font> distclean</tt></pre>
-</div></div>
-<p>Similarly, the <code>ci-extra</code> target can be extended to run extra commands after an Erlang/OTP version has been tested.</p>
-
-
-
-
-
-
-
-
-
-
-
- <nav style="margin:1em 0">
-
- <a style="float:left" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/coverage/">
- Code coverage
- </a>
-
-
-
- <a style="float:right" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/dialyzer/">
- Dialyzer
- </a>
-
- </nav>
-
-
-
-
-</div>
-
-<div class="span3 sidecol">
-
-
-<h3>
- Erlang.mk
- 1
-
- User Guide
-</h3>
-
-<ul>
-
-
-
-</ul>
-
-<h4 id="docs-nav">Navigation</h4>
-
-<h4>Version select</h4>
-<ul>
-
-
-
- <li><a href="/docs/en/erlang.mk/1/guide">1</a></li>
-
-</ul>
-
-<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
-<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
-<input type="hidden" name="cmd" value="_donations">
-<input type="hidden" name="business" value="[email protected]">
-<input type="hidden" name="lc" value="FR">
-<input type="hidden" name="item_name" value="Loic Hoguin">
-<input type="hidden" name="item_number" value="99s">
-<input type="hidden" name="currency_code" value="EUR">
-<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
-</form><p>Recurring payment options are also available via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to cover the recurring expenses like dedicated servers or domain names.</p>
-
-
-
-</div>
-</div>
-</div>
-</div>
-
- <footer>
- <div class="container">
- <div class="row">
- <div class="span6">
- <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
- <nav>
- <ul>
- <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
- </ul>
- </nav>
- </div>
- <div class="span6 credits">
- <p><img src="/img/footer_logo.png"></p>
- <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
- </div>
- </div>
- </div>
- </footer>
-
-
- <script src="/js/custom.js"></script>
- </body>
-</html>
-
-
diff --git a/docs/en/erlang.mk/1/guide/common_test.asciidoc b/docs/en/erlang.mk/1/guide/common_test.asciidoc
deleted file mode 100644
index 993bb8cd..00000000
--- a/docs/en/erlang.mk/1/guide/common_test.asciidoc
+++ /dev/null
@@ -1,103 +0,0 @@
-[[ct]]
-== Common Test
-
-Common Test is Erlang's functional testing framework.
-Erlang.mk automates the discovery and running of Common
-Test suites.
-
-=== Writing tests
-
-The http://www.erlang.org/doc/apps/common_test/write_test_chapter.html[Common Test user guide]
-is the best place to learn how to write tests. Erlang.mk
-requires that file names for test suites end with '_SUITE.erl'
-and that the files be located in the '$(TEST_DIR)' directory.
-This defaults to 'test/'.
-
-=== Configuration
-
-The `CT_OPTS` variable allows you to set extra Common Test
-options. Options are documented in the
-http://www.erlang.org/doc/apps/common_test/run_test_chapter.html[Common Test user guide].
-You can use it to set Common Test hooks, for example:
-
-[source,make]
-CT_OPTS = -ct_hooks cowboy_ct_hook
-
-The `CT_SUITES` variable can be used to override what
-Common Test suites Erlang.mk will be aware of. It does
-not normally need to be set as Erlang.mk will find the
-test suites automatically.
-
-The name of the suite is the part before `_SUITE.erl`.
-If the file is named 'http_SUITE.erl', the test suite
-is `http`:
-
-[source,make]
-CT_SUITES = http ws
-
-The `CT_LOGS_DIR` variable can be used to set where HTML
-log files are to be written. This defaults to 'logs/'.
-
-[source,make]
-CT_LOGS_DIR = ct_output_log_dir
-
-=== Usage
-
-To run all tests (including Common Test):
-
-[source,bash]
-$ make tests
-
-To run all tests and static checks (including Common Test):
-
-[source,bash]
-$ make check
-
-You can also run Common Test separately:
-
-[source,bash]
-$ make ct
-
-Erlang.mk will create targets for all test suites it finds.
-If you have a file named 'test/http_SUITE.erl', then the
-target `ct-http` will run that specific test suite:
-
-[source,bash]
-$ make ct-http
-
-Erlang.mk provides a convenient way to run a specific
-group or a specific test case within a specific group,
-using the variable `t`. Note that this only applies to
-suite-specific targets, like the `ct-http` example above.
-
-To run all tests from the `http_compress` group in the
-`http_SUITE` test suite, write:
-
-[source,bash]
-$ make ct-http t=http_compress
-
-Similarly, to run a specific test case in that group:
-
-[source,bash]
-$ make ct-http t=http_compress:headers_dupe
-
-To do the same against a multi-application repository,
-you can use the `-C` option:
-
-[source,bash]
-$ make -C apps/my_app ct-http t=my_group:my_case
-
-Note that this also applies to dependencies. When using Cowboy
-as a dependency, you can run the following directly:
-
-[source,bash]
-$ make -C deps/cowboy ct-http t=http_compress
-
-The variable `c` can be used to run a specific test when
-the test suite does not group test cases:
-
-[source,bash]
-$ make ct-http c=headers_dupe
-
-Finally, xref:coverage[code coverage] is available,
-but covered in its own chapter.
diff --git a/docs/en/erlang.mk/1/guide/common_test/index.html b/docs/en/erlang.mk/1/guide/common_test/index.html
deleted file mode 100644
index cc05b428..00000000
--- a/docs/en/erlang.mk/1/guide/common_test/index.html
+++ /dev/null
@@ -1,259 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
-
- <title>Nine Nines: Common Test</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href="/css/99s.css?r=5" rel="stylesheet">
-
- <link rel="shortcut icon" href="/img/ico/favicon.ico">
- <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
- <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
- <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
-
-
-</head>
-
-
-<body class="">
- <header id="page-head">
- <div id="topbar" class="container">
- <div class="row">
- <div class="span2">
- <h1 id="logo"><a href="/" title="99s">99s</a></h1>
- </div>
- <div class="span10">
-
- <div id="side-header">
- <nav>
- <ul>
- <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
- <li><a title="Watch my talks" href="/talks">Talks</a></li>
- <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
- <li><a title="Request my services" href="/services">Consulting & Training</a></li>
- </ul>
- </nav>
- <ul id="social">
- <li>
- <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
- </li>
- <li>
- <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-
-</header>
-
-<div id="contents" class="two_col">
-<div class="container">
-<div class="row">
-<div id="docs" class="span9 maincol">
-
-<h1 class="lined-header"><span>Common Test</span></h1>
-
-<p>Common Test is Erlang&apos;s functional testing framework. Erlang.mk automates the discovery and running of Common Test suites.</p>
-<h2 id="_writing_tests">Writing tests</h2>
-<p>The <a href="http://www.erlang.org/doc/apps/common_test/write_test_chapter.html">Common Test user guide</a> is the best place to learn how to write tests. Erlang.mk requires that file names for test suites end with <em>_SUITE.erl</em> and that the files be located in the <em>$(TEST_DIR)</em> directory. This defaults to <em>test/</em>.</p>
-<h2 id="_configuration">Configuration</h2>
-<p>The <code>CT_OPTS</code> variable allows you to set extra Common Test options. Options are documented in the <a href="http://www.erlang.org/doc/apps/common_test/run_test_chapter.html">Common Test user guide</a>. You can use it to set Common Test hooks, for example:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">CT_OPTS =</font> -ct_hooks cowboy_ct_hook</tt></pre>
-</div></div>
-<p>The <code>CT_SUITES</code> variable can be used to override what Common Test suites Erlang.mk will be aware of. It does not normally need to be set as Erlang.mk will find the test suites automatically.</p>
-<p>The name of the suite is the part before <code>_SUITE.erl</code>. If the file is named <em>http_SUITE.erl</em>, the test suite is <code>http</code>:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">CT_SUITES =</font> http ws</tt></pre>
-</div></div>
-<p>The <code>CT_LOGS_DIR</code> variable can be used to set where HTML log files are to be written. This defaults to <em>logs/</em>.</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">CT_LOGS_DIR =</font> ct_output_log_dir</tt></pre>
-</div></div>
-<h2 id="_usage">Usage</h2>
-<p>To run all tests (including Common Test):</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make tests</tt></pre>
-</div></div>
-<p>To run all tests and static checks (including Common Test):</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make check</tt></pre>
-</div></div>
-<p>You can also run Common Test separately:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make ct</tt></pre>
-</div></div>
-<p>Erlang.mk will create targets for all test suites it finds. If you have a file named <em>test/http_SUITE.erl</em>, then the target <code>ct-http</code> will run that specific test suite:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make ct-http</tt></pre>
-</div></div>
-<p>Erlang.mk provides a convenient way to run a specific group or a specific test case within a specific group, using the variable <code>t</code>. Note that this only applies to suite-specific targets, like the <code>ct-http</code> example above.</p>
-<p>To run all tests from the <code>http_compress</code> group in the <code>http_SUITE</code> test suite, write:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make ct-http <font color="#009900">t</font><font color="#990000">=</font>http_compress</tt></pre>
-</div></div>
-<p>Similarly, to run a specific test case in that group:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make ct-http <font color="#009900">t</font><font color="#990000">=</font>http_compress<font color="#990000">:</font>headers_dupe</tt></pre>
-</div></div>
-<p>To do the same against a multi-application repository, you can use the <code>-C</code> option:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make -C apps/my_app ct-http <font color="#009900">t</font><font color="#990000">=</font>my_group<font color="#990000">:</font>my_case</tt></pre>
-</div></div>
-<p>Note that this also applies to dependencies. When using Cowboy as a dependency, you can run the following directly:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make -C deps/cowboy ct-http <font color="#009900">t</font><font color="#990000">=</font>http_compress</tt></pre>
-</div></div>
-<p>The variable <code>c</code> can be used to run a specific test when the test suite does not group test cases:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make ct-http <font color="#009900">c</font><font color="#990000">=</font>headers_dupe</tt></pre>
-</div></div>
-<p>Finally, <a href="../coverage">code coverage</a> is available, but covered in its own chapter.</p>
-
-
-
-
-
-
-
-
-
-
-
- <nav style="margin:1em 0">
-
- <a style="float:left" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/eunit/">
- EUnit
- </a>
-
-
-
- <a style="float:right" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/proper/">
- PropEr
- </a>
-
- </nav>
-
-
-
-
-</div>
-
-<div class="span3 sidecol">
-
-
-<h3>
- Erlang.mk
- 1
-
- User Guide
-</h3>
-
-<ul>
-
-
-
-</ul>
-
-<h4 id="docs-nav">Navigation</h4>
-
-<h4>Version select</h4>
-<ul>
-
-
-
- <li><a href="/docs/en/erlang.mk/1/guide">1</a></li>
-
-</ul>
-
-<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
-<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
-<input type="hidden" name="cmd" value="_donations">
-<input type="hidden" name="business" value="[email protected]">
-<input type="hidden" name="lc" value="FR">
-<input type="hidden" name="item_name" value="Loic Hoguin">
-<input type="hidden" name="item_number" value="99s">
-<input type="hidden" name="currency_code" value="EUR">
-<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
-</form><p>Recurring payment options are also available via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to cover the recurring expenses like dedicated servers or domain names.</p>
-
-
-
-</div>
-</div>
-</div>
-</div>
-
- <footer>
- <div class="container">
- <div class="row">
- <div class="span6">
- <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
- <nav>
- <ul>
- <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
- </ul>
- </nav>
- </div>
- <div class="span6 credits">
- <p><img src="/img/footer_logo.png"></p>
- <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
- </div>
- </div>
- </div>
- </footer>
-
-
- <script src="/js/custom.js"></script>
- </body>
-</html>
-
-
diff --git a/docs/en/erlang.mk/1/guide/compat.asciidoc b/docs/en/erlang.mk/1/guide/compat.asciidoc
deleted file mode 100644
index 8c8f935c..00000000
--- a/docs/en/erlang.mk/1/guide/compat.asciidoc
+++ /dev/null
@@ -1,90 +0,0 @@
-[[compat]]
-== Compatibility with other build tools
-
-Erlang.mk tries its best to be compatible with the other Erlang
-build tools. It can use dependencies written with other build
-tools in mind, and can also make your projects usable by those
-build tools as well. Erlang.mk is like the cool kid that gets
-along with everybody.
-
-In this chapter I will use the term _Rebar project_ to refer
-to a project built using Rebar 2, Rebar 3 or Mad. These three
-build tools are very similar and share the same configuration
-file.
-
-=== Rebar projects as Erlang.mk dependencies
-
-Erlang.mk comes with a feature called _Autoload_ which will
-use Rebar 2 to patch any Rebar project and make it compatible
-with Erlang.mk. This feature essentially patches Rebar out
-and adds a Makefile to the project that Erlang.mk can then
-use for building:
-
-_Autoload_ is documented in more details in the
-xref:deps[Packages and dependencies] chapter.
-
-=== Erlang.mk projects as Rebar dependencies
-
-Erlang.mk projects can be made compatible with the Rebar family
-of build tools pretty easily, as Erlang.mk will generate
-all the files they require for building.
-
-The Rebar family requires two files: a 'rebar.config' file
-containing compilation options and the list of dependencies,
-and the application resource file, found either at
-'ebin/$(PROJECT).app' or at 'src/$(PROJECT).app.src'.
-
-==== Rebar configuration
-
-Erlang.mk comes with a target that generates a 'rebar.config'
-file when invoked:
-
-[source,bash]
-$ make rebar.config
-
-Careful! This will build the file even if it already existed
-before.
-
-To build this file, Erlang.mk uses information it finds in
-the `DEPS` and `ERLC_OPTS` variables, among others. This
-means that the Rebar family builds your project much the
-same way as Erlang.mk.
-
-// @todo Sanity check chapter.
-Careful though! Different build tools have different fetching
-strategies. If some applications provide differing dependencies,
-they might be fetched differently by other build tools. Check
-the upcoming Sanity check chapter to find out how to detect such
-issues.
-
-You can automatically generate this file when you build
-your application, by making it a dependency of the `app`
-target:
-
-[source,make]
-----
-app:: rebar.config
-----
-
-Don't forget to commit the file when it changes!
-
-If you run into other issues, it's probably because you use a
-feature specific to Erlang.mk, like the `cp` fetch method.
-It could also be that we forgot to handle something! Sorry.
-We are of course interested to hear about any compatibility
-problems you may have, just open a ticket!
-
-==== Application resource file
-
-Erlang.mk has two ways to generate an application resource
-file: from the information found in the Makefile, or from
-the information found in the 'src/$(PROJECT).app.src' file.
-Needless to say, if you have this file in your repository,
-then you don't need to worry about compatibility with other
-build tools.
-
-If you don't, however, it's not much harder. Every time
-Erlang.mk will compile your application, it will produce
-a new 'ebin/$(PROJECT).app' file. Simply commit this file
-when it changes. It will only change when you modify the
-configuration, add or remove modules.
diff --git a/docs/en/erlang.mk/1/guide/compat/index.html b/docs/en/erlang.mk/1/guide/compat/index.html
deleted file mode 100644
index debc307d..00000000
--- a/docs/en/erlang.mk/1/guide/compat/index.html
+++ /dev/null
@@ -1,199 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
-
- <title>Nine Nines: Compatibility with other build tools</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href="/css/99s.css?r=5" rel="stylesheet">
-
- <link rel="shortcut icon" href="/img/ico/favicon.ico">
- <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
- <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
- <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
-
-
-</head>
-
-
-<body class="">
- <header id="page-head">
- <div id="topbar" class="container">
- <div class="row">
- <div class="span2">
- <h1 id="logo"><a href="/" title="99s">99s</a></h1>
- </div>
- <div class="span10">
-
- <div id="side-header">
- <nav>
- <ul>
- <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
- <li><a title="Watch my talks" href="/talks">Talks</a></li>
- <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
- <li><a title="Request my services" href="/services">Consulting & Training</a></li>
- </ul>
- </nav>
- <ul id="social">
- <li>
- <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
- </li>
- <li>
- <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-
-</header>
-
-<div id="contents" class="two_col">
-<div class="container">
-<div class="row">
-<div id="docs" class="span9 maincol">
-
-<h1 class="lined-header"><span>Compatibility with other build tools</span></h1>
-
-<p>Erlang.mk tries its best to be compatible with the other Erlang build tools. It can use dependencies written with other build tools in mind, and can also make your projects usable by those build tools as well. Erlang.mk is like the cool kid that gets along with everybody.</p>
-<p>In this chapter I will use the term <em>Rebar project</em> to refer to a project built using Rebar 2, Rebar 3 or Mad. These three build tools are very similar and share the same configuration file.</p>
-<h2 id="_rebar_projects_as_erlang_mk_dependencies">Rebar projects as Erlang.mk dependencies</h2>
-<p>Erlang.mk comes with a feature called <em>Autoload</em> which will use Rebar 2 to patch any Rebar project and make it compatible with Erlang.mk. This feature essentially patches Rebar out and adds a Makefile to the project that Erlang.mk can then use for building:</p>
-<p><em>Autoload</em> is documented in more details in the <a href="../deps">Packages and dependencies</a> chapter.</p>
-<h2 id="_erlang_mk_projects_as_rebar_dependencies">Erlang.mk projects as Rebar dependencies</h2>
-<p>Erlang.mk projects can be made compatible with the Rebar family of build tools pretty easily, as Erlang.mk will generate all the files they require for building.</p>
-<p>The Rebar family requires two files: a <em>rebar.config</em> file containing compilation options and the list of dependencies, and the application resource file, found either at <em>ebin/$(PROJECT).app</em> or at <em>src/$(PROJECT).app.src</em>.</p>
-<h4 id="_rebar_configuration">Rebar configuration</h4>
-<p>Erlang.mk comes with a target that generates a <em>rebar.config</em> file when invoked:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make rebar<font color="#990000">.</font>config</tt></pre>
-</div></div>
-<p>Careful! This will build the file even if it already existed before.</p>
-<p>To build this file, Erlang.mk uses information it finds in the <code>DEPS</code> and <code>ERLC_OPTS</code> variables, among others. This means that the Rebar family builds your project much the same way as Erlang.mk.</p>
-<!-- @todo Sanity check chapter.-->
-<p>Careful though! Different build tools have different fetching strategies. If some applications provide differing dependencies, they might be fetched differently by other build tools. Check the upcoming Sanity check chapter to find out how to detect such issues.</p>
-<p>You can automatically generate this file when you build your application, by making it a dependency of the <code>app</code> target:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#990000">app::</font> rebar.config</tt></pre>
-</div></div>
-<p>Don&apos;t forget to commit the file when it changes!</p>
-<p>If you run into other issues, it&apos;s probably because you use a feature specific to Erlang.mk, like the <code>cp</code> fetch method. It could also be that we forgot to handle something! Sorry. We are of course interested to hear about any compatibility problems you may have, just open a ticket!</p>
-<h4 id="_application_resource_file">Application resource file</h4>
-<p>Erlang.mk has two ways to generate an application resource file: from the information found in the Makefile, or from the information found in the <em>src/$(PROJECT).app.src</em> file. Needless to say, if you have this file in your repository, then you don&apos;t need to worry about compatibility with other build tools.</p>
-<p>If you don&apos;t, however, it&apos;s not much harder. Every time Erlang.mk will compile your application, it will produce a new <em>ebin/$(PROJECT).app</em> file. Simply commit this file when it changes. It will only change when you modify the configuration, add or remove modules.</p>
-
-
-
-
-
-
-
-
-
-
-
- <nav style="margin:1em 0">
-
- <a style="float:left" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/cross_compiling/">
- Cross compiling
- </a>
-
-
-
- <a style="float:right" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/asciidoc/">
- AsciiDoc documentation
- </a>
-
- </nav>
-
-
-
-
-</div>
-
-<div class="span3 sidecol">
-
-
-<h3>
- Erlang.mk
- 1
-
- User Guide
-</h3>
-
-<ul>
-
-
-
-</ul>
-
-<h4 id="docs-nav">Navigation</h4>
-
-<h4>Version select</h4>
-<ul>
-
-
-
- <li><a href="/docs/en/erlang.mk/1/guide">1</a></li>
-
-</ul>
-
-<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
-<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
-<input type="hidden" name="cmd" value="_donations">
-<input type="hidden" name="business" value="[email protected]">
-<input type="hidden" name="lc" value="FR">
-<input type="hidden" name="item_name" value="Loic Hoguin">
-<input type="hidden" name="item_number" value="99s">
-<input type="hidden" name="currency_code" value="EUR">
-<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
-</form><p>Recurring payment options are also available via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to cover the recurring expenses like dedicated servers or domain names.</p>
-
-
-
-</div>
-</div>
-</div>
-</div>
-
- <footer>
- <div class="container">
- <div class="row">
- <div class="span6">
- <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
- <nav>
- <ul>
- <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
- </ul>
- </nav>
- </div>
- <div class="span6 credits">
- <p><img src="/img/footer_logo.png"></p>
- <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
- </div>
- </div>
- </div>
- </footer>
-
-
- <script src="/js/custom.js"></script>
- </body>
-</html>
-
-
diff --git a/docs/en/erlang.mk/1/guide/contributing.asciidoc b/docs/en/erlang.mk/1/guide/contributing.asciidoc
deleted file mode 100644
index 58e5de68..00000000
--- a/docs/en/erlang.mk/1/guide/contributing.asciidoc
+++ /dev/null
@@ -1,116 +0,0 @@
-[[contributing]]
-== Contributing
-
-You are welcome and encouraged to contribute.
-
-This is how.
-
-=== Priorities
-
-From the most important to the least important:
-
-* Bugs
-* Package issues/additions
-* Refactoring
-* Features
-
-=== Bugs
-
-If you have found a bug, you should open a ticket. Include
-everything relevant including the command you used, output,
-a link to the code that triggers the issue, why you think
-this is a bug, etc.
-
-If you think you have found a bug but you are not sure, you
-should open a ticket as previously explained.
-
-If you have found a bug and you need it to be solved RIGHT
-NOW, open a ticket as previously explained.
-
-Once you have opened a ticket, be patient, try to answer
-questions in a timely manner and confirm that the bug was
-indeed fixed when it is.
-
-If you can't be patient, either try to solve the bug and
-contribute the fix back or become a paying customer.
-
-=== Code
-
-The code is located in the 'core/\*.mk' and 'plugins/\*.mk' files.
-The tests are located in the 'test/Makefile' and 'test/*.mk' files.
-
-If you have a fix or a hack for a bug, you should open a
-pull request. Any fix should include a test case that fails
-before the fix and is working after.
-
-If you have a test case that reproduces a bug, but no fix for
-it, you should open a pull request.
-
-Changes need to be tested with at least the `make check`
-command. A specific test case can be tested using `make check c=CASE`
-with `CASE` the name of the target to run. Output can be
-modulated using the `V` variable, which is an integer
-from 0 to 4. A typical use would be `make check c=dialyzer V=3`.
-The value 4 is particular and shows expanded commands right
-before they are executed.
-
-To run tests in parallel, use the `-j` option. It is generally
-a good idea to also use the `-k` option to run all tests even
-if one fails. For example: `make check -j 32 -k`.
-
-Some changes should be tested against all packages. Continue
-reading for more details on testing them.
-
-=== Packages
-
-You can search existing packages using the `make search q=STRING`
-command. This can be done both from an Erlang.mk project or
-directly from the Erlang.mk repository.
-
-Packages can be added to the index using the `pkg_add.sh` script.
-
-[source,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
-----
-
-Before sending a pull request, you should test your package.
-You can use the following command: `make check p=PACKAGE`,
-where `PACKAGE` is the name of the package, for example
-`cowboy`.
-
-To test all packages, the `make packages` command can be used.
-This can take a long time. Some packages will fail with certain
-versions of Erlang, or if a prerequisite is missing from your system.
-You can of course speed things up using the `-j` and `-k` flags.
-
-After all packages have been tested, you can run the command
-`make summary` to know what changed since the previous run.
-
-=== Documentation
-
-The documentation is always right.
-
-If you think you have found a mistake in the documentation,
-this is a bug. You can either open a ticket or send a pull
-request.
-
-To make sure that the documentation changes work, install
-the listed xref:asciidoc[Requirements] on your system and
-run `make docs`.
-
-=== Feature requests
-
-If you have an awesome idea or need something that Erlang.mk
-doesn't provide yet, open a ticket. Provide as much detail as
-possible.
-
-If you have code, great! Open a pull request as previously
-explained.
-
-If not, you can still improve your feature request by writing
-the related documentation.
diff --git a/docs/en/erlang.mk/1/guide/contributing/index.html b/docs/en/erlang.mk/1/guide/contributing/index.html
deleted file mode 100644
index 8a140bd2..00000000
--- a/docs/en/erlang.mk/1/guide/contributing/index.html
+++ /dev/null
@@ -1,213 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
-
- <title>Nine Nines: Contributing</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href="/css/99s.css?r=5" rel="stylesheet">
-
- <link rel="shortcut icon" href="/img/ico/favicon.ico">
- <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
- <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
- <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
-
-
-</head>
-
-
-<body class="">
- <header id="page-head">
- <div id="topbar" class="container">
- <div class="row">
- <div class="span2">
- <h1 id="logo"><a href="/" title="99s">99s</a></h1>
- </div>
- <div class="span10">
-
- <div id="side-header">
- <nav>
- <ul>
- <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
- <li><a title="Watch my talks" href="/talks">Talks</a></li>
- <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
- <li><a title="Request my services" href="/services">Consulting & Training</a></li>
- </ul>
- </nav>
- <ul id="social">
- <li>
- <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
- </li>
- <li>
- <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-
-</header>
-
-<div id="contents" class="two_col">
-<div class="container">
-<div class="row">
-<div id="docs" class="span9 maincol">
-
-<h1 class="lined-header"><span>Contributing</span></h1>
-
-<p>You are welcome and encouraged to contribute.</p>
-<p>This is how.</p>
-<h2 id="_priorities">Priorities</h2>
-<p>From the most important to the least important:</p>
-<ul><li>Bugs
-</li>
-<li>Package issues/additions
-</li>
-<li>Refactoring
-</li>
-<li>Features
-</li>
-</ul>
-<h2 id="_bugs">Bugs</h2>
-<p>If you have found a bug, you should open a ticket. Include everything relevant including the command you used, output, a link to the code that triggers the issue, why you think this is a bug, etc.</p>
-<p>If you think you have found a bug but you are not sure, you should open a ticket as previously explained.</p>
-<p>If you have found a bug and you need it to be solved RIGHT NOW, open a ticket as previously explained.</p>
-<p>Once you have opened a ticket, be patient, try to answer questions in a timely manner and confirm that the bug was indeed fixed when it is.</p>
-<p>If you can&apos;t be patient, either try to solve the bug and contribute the fix back or become a paying customer.</p>
-<h2 id="_code">Code</h2>
-<p>The code is located in the <em>core/\*.mk</em> and <em>plugins/\*.mk</em> files. The tests are located in the <em>test/Makefile</em> and <em>test/*.mk</em> files.</p>
-<p>If you have a fix or a hack for a bug, you should open a pull request. Any fix should include a test case that fails before the fix and is working after.</p>
-<p>If you have a test case that reproduces a bug, but no fix for it, you should open a pull request.</p>
-<p>Changes need to be tested with at least the <code>make check</code> command. A specific test case can be tested using <code>make check c=CASE</code> with <code>CASE</code> the name of the target to run. Output can be modulated using the <code>V</code> variable, which is an integer from 0 to 4. A typical use would be <code>make check c=dialyzer V=3</code>. The value 4 is particular and shows expanded commands right before they are executed.</p>
-<p>To run tests in parallel, use the <code>-j</code> option. It is generally a good idea to also use the <code>-k</code> option to run all tests even if one fails. For example: <code>make check -j 32 -k</code>.</p>
-<p>Some changes should be tested against all packages. Continue reading for more details on testing them.</p>
-<h2 id="_packages">Packages</h2>
-<p>You can search existing packages using the <code>make search q=STRING</code> command. This can be done both from an Erlang.mk project or directly from the Erlang.mk repository.</p>
-<p>Packages can be added to the index using the <code>pkg_add.sh</code> script.</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ git clone https<font color="#990000">:</font>//github<font color="#990000">.</font>com<font color="#990000">/</font><font color="#009900">$YOURUSERNAME</font>/erlang<font color="#990000">.</font>mk
-$ cd erlang<font color="#990000">.</font>mk
-$ <font color="#990000">.</font>/pkg_add<font color="#990000">.</font>sh cowboy git https<font color="#990000">:</font>//github<font color="#990000">.</font>com/ninenines/cowboy <font color="#993399">1.0</font><font color="#990000">.</font><font color="#993399">0</font>
- http<font color="#990000">:</font>//ninenines<font color="#990000">.</font>eu <font color="#FF0000">"Small, fast and modular HTTP server."</font>
-$ git push origin master</tt></pre>
-</div></div>
-<p>Before sending a pull request, you should test your package. You can use the following command: <code>make check p=PACKAGE</code>, where <code>PACKAGE</code> is the name of the package, for example <code>cowboy</code>.</p>
-<p>To test all packages, the <code>make packages</code> command can be used. This can take a long time. Some packages will fail with certain versions of Erlang, or if a prerequisite is missing from your system. You can of course speed things up using the <code>-j</code> and <code>-k</code> flags.</p>
-<p>After all packages have been tested, you can run the command <code>make summary</code> to know what changed since the previous run.</p>
-<h2 id="_documentation">Documentation</h2>
-<p>The documentation is always right.</p>
-<p>If you think you have found a mistake in the documentation, this is a bug. You can either open a ticket or send a pull request.</p>
-<p>To make sure that the documentation changes work, install the listed <a href="../asciidoc">Requirements</a> on your system and run <code>make docs</code>.</p>
-<h2 id="_feature_requests">Feature requests</h2>
-<p>If you have an awesome idea or need something that Erlang.mk doesn&apos;t provide yet, open a ticket. Provide as much detail as possible.</p>
-<p>If you have code, great! Open a pull request as previously explained.</p>
-<p>If not, you can still improve your feature request by writing the related documentation.</p>
-
-
-
-
-
-
-
-
-
-
-
- <nav style="margin:1em 0">
-
- <a style="float:left" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/history/">
- Short history
- </a>
-
-
-
- </nav>
-
-
-
-
-</div>
-
-<div class="span3 sidecol">
-
-
-<h3>
- Erlang.mk
- 1
-
- User Guide
-</h3>
-
-<ul>
-
-
-
-</ul>
-
-<h4 id="docs-nav">Navigation</h4>
-
-<h4>Version select</h4>
-<ul>
-
-
-
- <li><a href="/docs/en/erlang.mk/1/guide">1</a></li>
-
-</ul>
-
-<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
-<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
-<input type="hidden" name="cmd" value="_donations">
-<input type="hidden" name="business" value="[email protected]">
-<input type="hidden" name="lc" value="FR">
-<input type="hidden" name="item_name" value="Loic Hoguin">
-<input type="hidden" name="item_number" value="99s">
-<input type="hidden" name="currency_code" value="EUR">
-<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
-</form><p>Recurring payment options are also available via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to cover the recurring expenses like dedicated servers or domain names.</p>
-
-
-
-</div>
-</div>
-</div>
-</div>
-
- <footer>
- <div class="container">
- <div class="row">
- <div class="span6">
- <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
- <nav>
- <ul>
- <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
- </ul>
- </nav>
- </div>
- <div class="span6 credits">
- <p><img src="/img/footer_logo.png"></p>
- <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
- </div>
- </div>
- </div>
- </footer>
-
-
- <script src="/js/custom.js"></script>
- </body>
-</html>
-
-
diff --git a/docs/en/erlang.mk/1/guide/coverage.asciidoc b/docs/en/erlang.mk/1/guide/coverage.asciidoc
deleted file mode 100644
index 02f8b5b9..00000000
--- a/docs/en/erlang.mk/1/guide/coverage.asciidoc
+++ /dev/null
@@ -1,62 +0,0 @@
-[[coverage]]
-== Code coverage
-
-Erlang.mk provides support for code coverage via the tool
-`cover` that comes with Erlang/OTP. Code coverage lets you
-see what parts of your code are covered by the tests.
-
-=== Enabling cover when running tests
-
-To run tests with code coverage enabled, simply define
-`COVER=1` either on the command line or in your Makefile:
-
-[source,bash]
-$ make tests COVER=1
-
-When running the targets `tests` or `check` the code
-coverage report will be built automatically. This is
-not the case for test framework specific targets,
-however. In those cases you can generate the reports
-manually:
-
-[source,bash]
-$ make eunit proper COVER=1
-$ make cover-report
-
-Note that Common Test has some support for `cover`
-built-in and that it will generate code coverage
-reports in the Common Test logs regardless. The
-report that Erlang.mk generates is however common
-to all test frameworks and might be more useful.
-
-=== Adding applications to the cover report
-
-By default Erlang.mk will include all the applications
-in the code coverage report, except external dependencies.
-
-To include some dependencies in the report, you can
-define the `COVER_DEPS` variable:
-
-[source,make]
-COVER_DEPS = cowlib
-
-When using multi application repositories you can exclude
-some applications by defining the `COVER_APPS` variable:
-
-[source,make]
-COVER_APPS = presence backend
-
-=== Configuring paths
-
-By default Erlang.mk will store 'coverdata' files and
-code coverage reports under the 'cover/' directory. The
-variables `COVER_DATA_DIR` and `COVER_REPORT_DIR` can be
-set to use a different location.
-
-=== Merging coverdata files
-
-The target `all.coverdata` will take all existing
-'coverdata' files and merge them into one:
-
-[source,bash]
-$ make all.coverdata
diff --git a/docs/en/erlang.mk/1/guide/coverage/index.html b/docs/en/erlang.mk/1/guide/coverage/index.html
deleted file mode 100644
index 9ca3b6de..00000000
--- a/docs/en/erlang.mk/1/guide/coverage/index.html
+++ /dev/null
@@ -1,211 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
-
- <title>Nine Nines: Code coverage</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href="/css/99s.css?r=5" rel="stylesheet">
-
- <link rel="shortcut icon" href="/img/ico/favicon.ico">
- <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
- <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
- <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
-
-
-</head>
-
-
-<body class="">
- <header id="page-head">
- <div id="topbar" class="container">
- <div class="row">
- <div class="span2">
- <h1 id="logo"><a href="/" title="99s">99s</a></h1>
- </div>
- <div class="span10">
-
- <div id="side-header">
- <nav>
- <ul>
- <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
- <li><a title="Watch my talks" href="/talks">Talks</a></li>
- <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
- <li><a title="Request my services" href="/services">Consulting & Training</a></li>
- </ul>
- </nav>
- <ul id="social">
- <li>
- <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
- </li>
- <li>
- <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-
-</header>
-
-<div id="contents" class="two_col">
-<div class="container">
-<div class="row">
-<div id="docs" class="span9 maincol">
-
-<h1 class="lined-header"><span>Code coverage</span></h1>
-
-<p>Erlang.mk provides support for code coverage via the tool <code>cover</code> that comes with Erlang/OTP. Code coverage lets you see what parts of your code are covered by the tests.</p>
-<h2 id="_enabling_cover_when_running_tests">Enabling cover when running tests</h2>
-<p>To run tests with code coverage enabled, simply define <code>COVER=1</code> either on the command line or in your Makefile:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make tests <font color="#009900">COVER</font><font color="#990000">=</font><font color="#993399">1</font></tt></pre>
-</div></div>
-<p>When running the targets <code>tests</code> or <code>check</code> the code coverage report will be built automatically. This is not the case for test framework specific targets, however. In those cases you can generate the reports manually:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make eunit proper <font color="#009900">COVER</font><font color="#990000">=</font><font color="#993399">1</font>
-$ make cover-report</tt></pre>
-</div></div>
-<p>Note that Common Test has some support for <code>cover</code> built-in and that it will generate code coverage reports in the Common Test logs regardless. The report that Erlang.mk generates is however common to all test frameworks and might be more useful.</p>
-<h2 id="_adding_applications_to_the_cover_report">Adding applications to the cover report</h2>
-<p>By default Erlang.mk will include all the applications in the code coverage report, except external dependencies.</p>
-<p>To include some dependencies in the report, you can define the <code>COVER_DEPS</code> variable:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">COVER_DEPS =</font> cowlib</tt></pre>
-</div></div>
-<p>When using multi application repositories you can exclude some applications by defining the <code>COVER_APPS</code> variable:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">COVER_APPS =</font> presence backend</tt></pre>
-</div></div>
-<h2 id="_configuring_paths">Configuring paths</h2>
-<p>By default Erlang.mk will store <em>coverdata</em> files and code coverage reports under the <em>cover/</em> directory. The variables <code>COVER_DATA_DIR</code> and <code>COVER_REPORT_DIR</code> can be set to use a different location.</p>
-<h2 id="_merging_coverdata_files">Merging coverdata files</h2>
-<p>The target <code>all.coverdata</code> will take all existing <em>coverdata</em> files and merge them into one:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make all<font color="#990000">.</font>coverdata</tt></pre>
-</div></div>
-
-
-
-
-
-
-
-
-
-
-
- <nav style="margin:1em 0">
-
- <a style="float:left" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/triq/">
- Triq
- </a>
-
-
-
- <a style="float:right" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/ci/">
- Continuous integration
- </a>
-
- </nav>
-
-
-
-
-</div>
-
-<div class="span3 sidecol">
-
-
-<h3>
- Erlang.mk
- 1
-
- User Guide
-</h3>
-
-<ul>
-
-
-
-</ul>
-
-<h4 id="docs-nav">Navigation</h4>
-
-<h4>Version select</h4>
-<ul>
-
-
-
- <li><a href="/docs/en/erlang.mk/1/guide">1</a></li>
-
-</ul>
-
-<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
-<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
-<input type="hidden" name="cmd" value="_donations">
-<input type="hidden" name="business" value="[email protected]">
-<input type="hidden" name="lc" value="FR">
-<input type="hidden" name="item_name" value="Loic Hoguin">
-<input type="hidden" name="item_number" value="99s">
-<input type="hidden" name="currency_code" value="EUR">
-<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
-</form><p>Recurring payment options are also available via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to cover the recurring expenses like dedicated servers or domain names.</p>
-
-
-
-</div>
-</div>
-</div>
-</div>
-
- <footer>
- <div class="container">
- <div class="row">
- <div class="span6">
- <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
- <nav>
- <ul>
- <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
- </ul>
- </nav>
- </div>
- <div class="span6 credits">
- <p><img src="/img/footer_logo.png"></p>
- <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
- </div>
- </div>
- </div>
- </footer>
-
-
- <script src="/js/custom.js"></script>
- </body>
-</html>
-
-
diff --git a/docs/en/erlang.mk/1/guide/cross_compiling.asciidoc b/docs/en/erlang.mk/1/guide/cross_compiling.asciidoc
deleted file mode 100644
index 23e14b95..00000000
--- a/docs/en/erlang.mk/1/guide/cross_compiling.asciidoc
+++ /dev/null
@@ -1,94 +0,0 @@
-[[cross_compiling]]
-== Cross compiling
-
-Erlang.mk supports cross-compiling. While the compiled
-Erlang code is portable as-is, the C code is not and
-releases need to use the correct runtime system for the
-target environment.
-
-There are therefore two steps that might require some
-intervention: compiling and building the release. If
-you do not have any C code you can just compile as you
-would normally, however.
-
-=== Compiling
-
-To cross-compile the C code you need a cross compiler. If you
-were to target Windows from an Arch Linux machine you would
-install the https://aur.archlinux.org/packages/mingw-w64-gcc/[mingw-w64-gcc]
-package. You would then need to define the `CC` environment
-variable to point to this compiler instead of the default:
-
-[source,bash]
-CC=/usr/bin/x86_64-w64-mingw32-gcc
-
-Additionally, on Windows the shared libraries use a different
-extension than on Linux, so it needs to be specified as well:
-
-[source,bash]
-C_SRC_OUTPUT_SHARED_EXTENSION=.dll
-
-These values can be added to the Makefile or given from the
-command line, for example:
-
-[source,bash]
-----
-$ CC=/usr/bin/x86_64-w64-mingw32-gcc C_SRC_OUTPUT_SHARED_EXTENSION=.dll make
- DEPEND my_nif.d
- ERLC my_nif.erl
- APP my_nif
- C my_nif.c
- LD my_nif.dll
-$ file priv/my_nif.dll
-priv/my_nif.dll: PE32+ executable (DLL) (console) x86-64, for MS Windows
-----
-
-You could also add this configuration to your Makefile hidden
-behind a flag:
-
-[source,make]
-----
-ifdef WINDOWS_BUILD
-CC = /usr/bin/x86_64-w64-mingw32-gcc
-C_SRC_OUTPUT_SHARED_EXTENSION = .dll
-endif
-----
-
-And then just compile like this:
-
-[source,bash]
-$ make WINDOWS_BUILD=1
-
-=== Building the release
-
-For the release there are two options. You can either include
-the correct runtime system directly in the release; or you
-can not include the runtime system in the release and instead
-let it use the one installed in the target environment.
-
-To include the target runtime system, add the `include_erts`
-tuple to your 'relx.config' file:
-
-[source,erlang]
-{include_erts, "/path/to/alternate/erlang"}.
-
-If you were to target Windows for example, you could copy
-the Erlang installation from the 'Program Files' directory
-and then configure 'relx.config' like this:
-
-[source,erlang]
-{include_erts, "/path/to/erl10.1"}.
-
-You need to make sure that the runtime system version you
-will use is capable of running the compiled Erlang code
-you used to build your project, otherwise it will fail
-to run.
-
-If you choose to not include the runtime system at all,
-configure 'relx.config' as follow:
-
-[source,erlang]
-{include_erts, false}.
-
-In that case the runtime system needs to be available
-in the `$PATH` of the target environment.
diff --git a/docs/en/erlang.mk/1/guide/cross_compiling/index.html b/docs/en/erlang.mk/1/guide/cross_compiling/index.html
deleted file mode 100644
index 6f87326d..00000000
--- a/docs/en/erlang.mk/1/guide/cross_compiling/index.html
+++ /dev/null
@@ -1,240 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
-
- <title>Nine Nines: Cross compiling</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href="/css/99s.css?r=5" rel="stylesheet">
-
- <link rel="shortcut icon" href="/img/ico/favicon.ico">
- <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
- <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
- <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
-
-
-</head>
-
-
-<body class="">
- <header id="page-head">
- <div id="topbar" class="container">
- <div class="row">
- <div class="span2">
- <h1 id="logo"><a href="/" title="99s">99s</a></h1>
- </div>
- <div class="span10">
-
- <div id="side-header">
- <nav>
- <ul>
- <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
- <li><a title="Watch my talks" href="/talks">Talks</a></li>
- <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
- <li><a title="Request my services" href="/services">Consulting & Training</a></li>
- </ul>
- </nav>
- <ul id="social">
- <li>
- <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
- </li>
- <li>
- <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-
-</header>
-
-<div id="contents" class="two_col">
-<div class="container">
-<div class="row">
-<div id="docs" class="span9 maincol">
-
-<h1 class="lined-header"><span>Cross compiling</span></h1>
-
-<p>Erlang.mk supports cross-compiling. While the compiled Erlang code is portable as-is, the C code is not and releases need to use the correct runtime system for the target environment.</p>
-<p>There are therefore two steps that might require some intervention: compiling and building the release. If you do not have any C code you can just compile as you would normally, however.</p>
-<h2 id="_compiling">Compiling</h2>
-<p>To cross-compile the C code you need a cross compiler. If you were to target Windows from an Arch Linux machine you would install the <a href="https://aur.archlinux.org/packages/mingw-w64-gcc/">mingw-w64-gcc</a> package. You would then need to define the <code>CC</code> environment variable to point to this compiler instead of the default:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">CC</font><font color="#990000">=</font>/usr/bin/x86_64-w<font color="#993399">64</font>-mingw<font color="#993399">32</font>-gcc</tt></pre>
-</div></div>
-<p>Additionally, on Windows the shared libraries use a different extension than on Linux, so it needs to be specified as well:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">C_SRC_OUTPUT_SHARED_EXTENSION</font><font color="#990000">=.</font>dll</tt></pre>
-</div></div>
-<p>These values can be added to the Makefile or given from the command line, for example:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ <font color="#009900">CC</font><font color="#990000">=</font>/usr/bin/x86_64-w<font color="#993399">64</font>-mingw<font color="#993399">32</font>-gcc <font color="#009900">C_SRC_OUTPUT_SHARED_EXTENSION</font><font color="#990000">=.</font>dll make
- DEPEND my_nif<font color="#990000">.</font>d
- ERLC my_nif<font color="#990000">.</font>erl
- APP my_nif
- C my_nif<font color="#990000">.</font>c
- LD my_nif<font color="#990000">.</font>dll
-$ file priv/my_nif<font color="#990000">.</font>dll
-priv/my_nif<font color="#990000">.</font>dll<font color="#990000">:</font> PE32<font color="#990000">+</font> executable <font color="#990000">(</font>DLL<font color="#990000">)</font> <font color="#990000">(</font>console<font color="#990000">)</font> x86-<font color="#993399">64</font><font color="#990000">,</font> <b><font color="#0000FF">for</font></b> MS Windows</tt></pre>
-</div></div>
-<p>You could also add this configuration to your Makefile hidden behind a flag:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>ifdef WINDOWS_BUILD
-<font color="#009900">CC =</font> /usr/bin/x86_64-w<font color="#993399">64</font>-mingw<font color="#993399">32</font>-gcc
-<font color="#009900">C_SRC_OUTPUT_SHARED_EXTENSION =</font> .dll
-endif</tt></pre>
-</div></div>
-<p>And then just compile like this:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make <font color="#009900">WINDOWS_BUILD</font><font color="#990000">=</font><font color="#993399">1</font></tt></pre>
-</div></div>
-<h2 id="_building_the_release">Building the release</h2>
-<p>For the release there are two options. You can either include the correct runtime system directly in the release; or you can not include the runtime system in the release and instead let it use the one installed in the target environment.</p>
-<p>To include the target runtime system, add the <code>include_erts</code> tuple to your <em>relx.config</em> file:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>{<font color="#FF6600">include_erts</font>, <font color="#FF0000">"/path/to/alternate/erlang"</font>}<font color="#990000">.</font></tt></pre>
-</div></div>
-<p>If you were to target Windows for example, you could copy the Erlang installation from the <em>Program Files</em> directory and then configure <em>relx.config</em> like this:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>{<font color="#FF6600">include_erts</font>, <font color="#FF0000">"/path/to/erl10.1"</font>}<font color="#990000">.</font></tt></pre>
-</div></div>
-<p>You need to make sure that the runtime system version you will use is capable of running the compiled Erlang code you used to build your project, otherwise it will fail to run.</p>
-<p>If you choose to not include the runtime system at all, configure <em>relx.config</em> as follow:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>{<font color="#FF6600">include_erts</font>, <font color="#000080">false</font>}<font color="#990000">.</font></tt></pre>
-</div></div>
-<p>In that case the runtime system needs to be available in the <code>$PATH</code> of the target environment.</p>
-
-
-
-
-
-
-
-
-
-
-
- <nav style="margin:1em 0">
-
- <a style="float:left" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/kerl/">
- OTP version management
- </a>
-
-
-
- <a style="float:right" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/compat/">
- Compatibility with other build tools
- </a>
-
- </nav>
-
-
-
-
-</div>
-
-<div class="span3 sidecol">
-
-
-<h3>
- Erlang.mk
- 1
-
- User Guide
-</h3>
-
-<ul>
-
-
-
-</ul>
-
-<h4 id="docs-nav">Navigation</h4>
-
-<h4>Version select</h4>
-<ul>
-
-
-
- <li><a href="/docs/en/erlang.mk/1/guide">1</a></li>
-
-</ul>
-
-<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
-<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
-<input type="hidden" name="cmd" value="_donations">
-<input type="hidden" name="business" value="[email protected]">
-<input type="hidden" name="lc" value="FR">
-<input type="hidden" name="item_name" value="Loic Hoguin">
-<input type="hidden" name="item_number" value="99s">
-<input type="hidden" name="currency_code" value="EUR">
-<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
-</form><p>Recurring payment options are also available via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to cover the recurring expenses like dedicated servers or domain names.</p>
-
-
-
-</div>
-</div>
-</div>
-</div>
-
- <footer>
- <div class="container">
- <div class="row">
- <div class="span6">
- <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
- <nav>
- <ul>
- <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
- </ul>
- </nav>
- </div>
- <div class="span6 credits">
- <p><img src="/img/footer_logo.png"></p>
- <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
- </div>
- </div>
- </div>
- </footer>
-
-
- <script src="/js/custom.js"></script>
- </body>
-</html>
-
-
diff --git a/docs/en/erlang.mk/1/guide/deps.asciidoc b/docs/en/erlang.mk/1/guide/deps.asciidoc
deleted file mode 100644
index 913fa245..00000000
--- a/docs/en/erlang.mk/1/guide/deps.asciidoc
+++ /dev/null
@@ -1,606 +0,0 @@
-[[deps]]
-== Packages and dependencies
-
-Erlang.mk can fetch and compile the dependencies that your
-project requires. Erlang.mk improves upon the concepts
-introduced by Rebar, so they should be familiar to many
-seasoned Erlang developers.
-
-Erlang.mk is not a package manager, nor is it trying to be,
-but it does include an index of Erlang packages to make
-discovering useful projects easier.
-
-This chapter will explain how to use packages, add
-dependencies to your project or bundle them directly
-in a single repository.
-
-=== Searching packages
-
-Erlang.mk gives you access to nearly 500 packages, with more
-being added regularly.
-
-To find a package, search for it:
-
-[source,bash]
-$ make search q=pool
-
-This will return all packages matching this word, like worker
-pool and acceptor pool projects.
-
-You can also list everything and use regular command line
-tools to find what you need, for example:
-
-[source,bash]
-$ make search | less
-
-// @todo Simplify adding packages, add a new chapter explaining
-// everything, then link to this new chapter from here.
-
-=== Adding dependencies to your project
-
-Once you find the package you need, adding it as a dependency
-to your project is a one-liner:
-
-[source,make]
-DEPS = cowboy
-
-And that's it! The next time you run `make`, Erlang.mk will
-fetch and compile Cowboy. Erlang.mk will also ensure Cowboy
-is available whenever you use the shell, run tests and any
-other operations.
-
-Erlang.mk will fill in the application resource file with
-all applications found in `DEPS`. But not all dependencies
-are Erlang applications, and not all dependencies need to
-be a runtime dependency. That's where the `BUILD_DEPS`
-variable comes in: it works just like `DEPS`, except the
-dependencies listed there will not be added as runtime
-dependencies.
-
-For example, you could add a parse transform project like
-this to make it available only at build time:
-
-[source,make]
-BUILD_DEPS = erlando
-
-Or you could depend on a C project directly, if you are
-building a NIF:
-
-[source,make]
-BUILD_DEPS = leveldb
-dep_leveldb = git https://github.com/basho/leveldb 2.1.3
-
-This dependency will be built before your application, so
-you could easily copy the resulting shared file into your
-'priv/' directory as part of the build process. More information
-about that in the xref:ports[NIFs and port drivers]
-chapter.
-
-Another variable, `LOCAL_DEPS`, allows specifying runtime
-dependencies which are part of Erlang/OTP itself, but also
-dependencies that are included in the repository. Since they
-are already on your system, there is no need to fetch them.
-Do note that there is no way to choose the version, the
-application used will be the one already on your system.
-
-You could depend on the Crypto application, for example:
-
-[source,make]
-LOCAL_DEPS = crypto
-
-Erlang.mk comes with additional types of dependencies.
-It has `TEST_DEPS` for dependencies used only for testing:
-
-[source,make]
-TEST_DEPS = ct_helper
-dep_ct_helper = git https://github.com/ninenines/ct_helper master
-
-`DOC_DEPS` for dependencies used only when building documentation:
-
-[source,make]
-DOC_DEPS = edown
-
-`REL_DEPS` for dependencies required to build the release,
-or to include extra applications in the release:
-
-[source,make]
-REL_DEPS = recon
-
-And `SHELL_DEPS` for dependencies to make available when running
-the `make shell` command:
-
-[source,make]
-SHELL_DEPS = tddreloader
-
-All these will be documented in more details in their respective
-chapters.
-
-Note that these additional types of dependencies will only
-be fetched after normal dependencies by default. You can
-force a dependency to be downloaded first by extending the
-target `deps::` before including 'erlang.mk', for example:
-
-[source,make]
-deps:: $(CURDIR)/deps/triq
-
-==== Modifying the dependency source or version
-
-By default, Erlang.mk will look into its package index to
-find the project you are looking for, if you only provide
-its name. This is this case:
-
-[source,make]
-DEPS = cowboy
-
-If you need a different version, you need to define another
-variable. There are two ways to do this, each being useful
-for different reasons.
-
-If you simply want to change the commit number, all you
-need to do is to define the `dep_$(DEP_NAME)_commit`
-variable. In the case of Cowboy, this would look like this:
-
-[source,make]
-DEPS = cowboy
-dep_cowboy_commit = 2.0.0-pre.2
-
-Erlang.mk will use the package index to get all information
-about Cowboy, except the commit number which will be overriden.
-
-If you need to set the fetch method or repository information
-too, for example because you want to use your own fork, or
-simply because the project is missing from the index, you
-can define the `dep_$(DEP_NAME)` variable with everything:
-
-[source,make]
-DEPS = cowboy
-dep_cowboy = git https://github.com/essen/cowboy 2.0.0-pre.2
-
-This will fetch Cowboy from your fork at the given commit.
-
-==== Fetch methods
-
-Erlang.mk comes with a number of different fetch methods.
-You can fetch from Git, Mercurial, SVN, to name a few.
-There are fetch methods that will work everywhere, and
-fetch methods that will only work in a given environment.
-
-The following table lists all existing methods:
-
-[cols="<,2*^",options="header"]
-|===
-| Name | Format | Description
-| git | git repo commit | Clone the Git repository and checkout the given version
-| git-subfolder | git repo commit subfolder | Clone the Git repository, checkout the given version and use one of its subfolders as a dependency
-| git-submodule | git-submodule | Initialize and update the Git submodule
-| hg | hg repo commit | Clone the Mercurial repository and update to the given version
-| svn | svn repo | Checkout the given SVN repository
-| cp | cp path/to/repo | Recursively copy a local directory
-| ln | ln path/to/repo | Symbolically link a local directory
-| hex | hex version | Download the given project version from hex.pm
-| fail | N/A | Always fail, reserved for internal use
-| legacy | N/A | Legacy Erlang.mk fetcher, reserved for internal use
-|===
-
-The `git` and `hg` methods both have a repository and commit.
-You can use any valid commit, tag or branch in that repository
-for the commit value.
-
-For example, to fetch Cowboy with tag 2.0.0-pre.2 from Git:
-
-[source,make]
-dep_cowboy = git https://github.com/ninenines/cowboy 2.0.0-pre.2
-
-Or to fetch Ehsa tag 4.0.3 from Mercurial:
-
-[source,make]
-dep_ehsa = hg https://bitbucket.org/a12n/ehsa 4.0.3
-
-Git also comes with a concept of submodules. Erlang.mk can
-automatically initializes and updates submodules for dependencies,
-as long as they were added beforehand using `git submodule add`:
-
-[source,make]
-dep_cowboy = git-submodule
-
-The `svn` method only has a repository value, but that's
-simply because the SVN repository URL can also contain
-the path and commit.
-
-This would fetch an example project from the trunk:
-
-[source,make]
-dep_ex1 = svn https://example.com/svn/trunk/project/ex1
-
-And this would fetch a separate example project from a
-specific commit:
-
-[source,make]
-dep_ex2 = svn svn://example.com/svn/branches/erlang-proj/ex2@264
-
-You can copy a directory from your machine using the `cp` method.
-It only takes the path to copy from:
-
-[source,make]
-dep_cowboy = cp $(HOME)/ninenines/cowboy
-
-Finally, you can use a package from the
-link:https://hex.pm/[Hex repository]:
-
-[source,make]
-dep_cowboy = hex 1.0.3
-
-==== Custom fetch methods
-
-If none of the existing methods fit your use, you can simply
-define your own. Erlang.mk will consider all variables that
-are named as `dep_fetch_$(METHOD)` to be available fetch
-methods. You can do anything inside this variable, as long
-as you create a folder named '$(DEPS_DIR)/$(call dep_name,$1)'.
-Or in layman terms, if your dependency is Cowboy, this would
-become 'deps/cowboy'.
-
-To give an example, this is what the Git method does:
-
-[source,make]
-----
-define dep_fetch_git
- git clone -q -n -- $(call dep_repo,$1) $(DEPS_DIR)/$(call dep_name,$1); \
- cd $(DEPS_DIR)/$(call dep_name,$1) && git checkout -q $(call dep_commit,$1);
-endef
-----
-
-Note that, like dependency information, this custom fetch method
-must be written before including 'erlang.mk'.
-
-=== How deps are fetched and built
-
-The order in which dependencies are fetched and built is well
-defined. This means that Erlang.mk will get the same applications
-regardless of the command or options being used.
-
-In tree traversal terms, where the list of dependencies is a
-tree, Erlang.mk fetches everything using the pre-order traversal
-method. The steps can be summarized like this, starting from
-the root application:
-
-. Fetch all dependencies for the application
-. Build first dependency
-. Build Nth dependency
-. Build last dependency
-
-Every time a dependency is built, these same steps are followed,
-recursively.
-
-Do note that the first step, fetching all dependencies of
-an application, is not guaranteed to be ordered. The reason
-for this is that it is not possible to have the same dependency
-listed twice in a single application, and therefore there can
-be no conflicts. Remember, this step only fetches, at no point
-are different applications built in parallel.
-
-What about conflicts between the dependencies of different
-applications? Simple. Since builds are ordered, this means
-that the first version of an application that is fetched
-will be the one that wins.
-
-This means that if project A depends on projects B and C,
-in this order, and that both B and C depend on a different
-version of D, it will always be B's version of D that wins,
-because we fetch the dependencies of B before fetching
-those from C.
-
-Similarly, if project A depends on projects B, C and D,
-regardless of the order, and A, B and C depend on a
-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,
-with the `make fetch-deps` command. It follows the same rules described
-in the section above.
-
-You can list all dependencies recursively, again without building
-anything, with the `make list-deps` command. It will obviously need
-to fetch all dependencies exactly like `make fetch-deps`. Once
-everything is fetched, it prints a sorted list of absolute paths to the
-dependencies.
-
-By default, `fetch-deps` and `list-deps` work on the `BUILD_DEPS`
-and `DEPS` lists only. To also fetch/list `TEST_DEPS`, `DOC_DEPS`,
-`REL_DEPS` and/or `SHELL_DEPS`, you have two possibilities:
-
-* You can use `make fetch-test-deps`, `make fetch-doc-deps`, `make
- fetch-rel-deps` and `make fetch-shell-deps` commands respectively.
- If you want to list them, you can use `make list-test-deps`, `make
- list-doc-deps`, `make list-rel-deps` and `make list-shell-deps`
- respectively.
-* You can use `make fetch-deps` or `make list-deps` with the Makefile
- variable `DEP_TYPES` set to a list of dependency types you want.
- The types are `test`, `doc`, `rel` and `shell` respectively. For
- example, you can list test and doc dependencies with `make list-deps
- DEP_TYPES='test doc'`.
-
-Note that only first level `TEST_DEPS`, `DOC_DEPS`, `REL_DEPS` and
-`SHELL_DEPS` are included, not dependencies' one. In other word,
-`make list-test-deps` lists the `TEST_DEPS` of your project, but not
-`TEST_DEPS` of the projects yours depend on.
-
-No matter which method you use, `BUILD_DEPS` and `DEPS` are always
-included.
-
-Internally, the `make fetch-*` commands store the complete list of
-dependencies in files named `$(ERLANG_MK_RECURSIVE_DEPS_LIST)`,
-`$(ERLANG_MK_RECURSIVE_TEST_DEPS_LIST)`,
-`$(ERLANG_MK_RECURSIVE_DOC_DEPS_LIST)`,
-`$(ERLANG_MK_RECURSIVE_REL_DEPS_LIST)` and
-`$(ERLANG_MK_RECURSIVE_SHELL_DEPS_LIST)`. Those files are simply printed
-by the `make list-*` commands.
-
-`make list-*` commands are made for human beings. If you need the list
-of dependencies in a Makefile or a script, you should use the content
-of those files directly instead. The reason is that `make fetch-*` and
-`make list-*` may have unwanted content in their output, such as actual
-fetching of dependencies.
-
-=== Ignoring unwanted dependencies
-
-Sometimes, you may want to ignore dependencies entirely.
-Not even fetch them. You may want to do this because a
-project you depend on depends on an application you do
-not need (like a dependency for building documentation
-or testing). Or maybe the dependency is already installed
-on your system.
-
-To ignore a dependency, simply add it to the `IGNORE_DEPS`
-variable:
-
-[source,make]
-IGNORE_DEPS += edown proper
-
-This will only ignore dependencies that are needed for
-building. It is therefore safe to write:
-
-[source,make]
-IGNORE_DEPS += edown proper
-TEST_DEPS = proper
-
-The PropEr application will be fetched as intended when
-running `make tests` or `make check`. It will however
-not be fetched when running `make` or `make deps`.
-
-=== Dependencies directory
-
-Dependencies are fetched in '$(DEPS_DIR)'. By default this is
-the 'deps' directory. You can change this default, but you
-should only do so if it was not defined previously. Erlang.mk
-uses this variable to tell dependencies where to fetch their
-own dependencies.
-
-You will therefore need to use `?=` instead of `=`. Of course,
-if you know you will never use this project as a dependency,
-`=` will work. But to avoid it biting you later on, do this:
-
-[source,make]
-DEPS_DIR ?= $(CURDIR)/libs
-
-The `$(CURDIR)` part is important, otherwise dependencies of
-dependencies will be fetched in the wrong directory.
-
-Erlang.mk will also export the `REBAR_DEPS_DIR` variable for
-compatibility with Rebar build tools, as long as they are
-recent enough.
-
-=== Many applications in one repository
-
-In addition to the dependencies that are fetched, Erlang.mk
-also allows you to have dependencies local to your repository.
-This kind of layout is sometimes called multi-application
-repositories, or repositories with multiple applications.
-
-They work exactly the same as remote dependencies, except:
-
-* They are not fetched
-* They are not autopatched
-* They are not deleted on `make distclean`
-* They are not automatically added to the application resource file
-
-To properly fill the application resource file and compile apps in
-the right order, you will need to define the `LOCAL_DEPS` variable
-for each relevant application, the same as for OTP applications. Apps
-can depend on each other in this way, and their compilation order
-will follow the same rules as regular dependencies in `DEPS`.
-
-The top-level `LOCAL_DEPS` variable, if defined, will determine which
-apps (along with their dependencies) to build, and also which apps
-should be added to the top-level application resource file, if there
-is one. This may be useful, for example, for specifying a different
-set of apps to build for different releases. If `LOCAL_DEPS` is not
-defined, then all apps in the '$(APPS_DIR)' will be built, but none
-will be automatically added to the top-level application resource
-file.
-
-If there is a conflict between a local dependency and a
-remote dependency, then the local dependency always wins;
-an error will be triggered when trying to fetch the
-conflicting remote dependency.
-
-To start using dependencies local to the repository, simply
-create a folder named '$(APPS_DIR)'. By default, this folder
-is the 'apps/' directory.
-
-You can use Erlang.mk to bootstrap local dependencies by
-using the command `make new-app` or `make new-lib`. This
-command will create the necessary directories and bootstrap
-the application.
-
-For example, to create a full fledged OTP application as
-a local dependency:
-
-[source,bash]
-$ make new-app in=webchat
-
-Or, the same as an OTP library:
-
-[source,bash]
-$ make new-lib in=webchat
-
-Templates also work with local dependencies, from the root
-directory of the project. You do need however to tell
-Erlang.mk to create the files in the correct application:
-
-[source,bash]
-$ make new t=gen_server n=my_server in=webchat
-
-=== Repositories with no application at the root level
-
-It's possible to use Erlang.mk with only applications in
-'$(APPS_DIR)', and nothing at the root of the repository.
-Just create a folder, put the 'erlang.mk' file in it,
-write a Makefile that includes it, and start creating
-your applications.
-
-Similarly, it's possible to have a repository with only
-dependencies found in '$(DEPS_DIR)'. You just need to
-create a Makefile and specify the dependencies you want.
-This allows you to create a repository for handling the
-building of releases, for example.
-
-=== Autopatch
-
-Erlang.mk will automatically patch all the dependencies it
-fetches. It needs to do this to ensure that the dependencies
-become compatible with not only Erlang.mk, but also with
-the version of Erlang.mk that is currently used.
-
-When fetching a dependency, the following operations are
-performed:
-
-* Fetch the dependency using the configured fetch method
-* If it contains a 'configure.ac' or 'configure.in' file, run `autoreconf -Wall -vif -I m4`
-* If it contains a 'configure' script, run it
-* Run autopatch on the project
-
-Autopatch first checks if there is any project-specific patch
-enabled. There are currently three: `RABBITMQ_CLIENT_PATCH` for
-the `amqp_client` dependency (before 3.6.0), `RABBITMQ_SERVER_PATCH`
-for the `rabbit` dependency (before 3.6.0) and `ELIXIR_PATCH`
-for the `elixir` dependency.
-
-Otherwise, autopatch performs different operations depending
-on the kind of project it finds the dependency to be.
-
-* Rebar projects are automatically converted to use Erlang.mk
-as their build tool. This essentially patches Rebar out, and
-fixes and converts the project to be compatible with Erlang.mk.
-
-* Erlang.mk projects have their 'Makefile' patched, if necessary,
-to include the top-level project's Erlang.mk. This is to ensure
-that functionality works across all dependencies, even if the
-dependency's Erlang.mk is outdated. The patched Makefile
-can be safely committed if necessary.
-
-* Other Erlang projects get a small Erlang.mk Makefile
-generated automatically.
-
-* Projects with no source directory and no Makefile get an
-empty Makefile generated, for compatibility purposes.
-
-* Other projects with no Makefile are left untouched.
-
-You can add additional commands to be run immediately before
-or after autopatch is done by extending the target
-`autopatch-$(dep)::`, for example this would remove
-a module:
-
-[source,make]
-----
-autopatch-ranch::
- rm -f $(DEPS_DIR)/ranch/src/ranch_proxy_header.erl
-----
-
-A common use case for this feature is to apply a PATCH
-file on the dependency immediately after fetching it.
-It can also be used to add compiler options, for example:
-
-[source,make]
-----
-autopatch-couchbeam::
- printf "\nERLC_OPTS += -DWITH_JIFFY\n" >> $(DEPS_DIR)/couchbeam/Makefile
-----
-
-The commands will run before autopatch when the target is
-defined before including 'erlang.mk', and after otherwise.
-
-You can disable the replacing of the 'erlang.mk' file by
-defining the `NO_AUTOPATCH_ERLANG_MK` variable:
-
-[source,make]
-NO_AUTOPATCH_ERLANG_MK = 1
-
-You can also disable autopatch entirely for a few select
-projects using the `NO_AUTOPATCH` variable:
-
-[source,make]
-NO_AUTOPATCH = cowboy ranch cowlib
-
-=== Dealing with duplicate modules
-
-When there are duplicate modules found in both applications
-and their dependencies, some tasks may fail. Erlang expects
-modules to be unique in general.
-
-When the duplicates are found in dependencies, you will need
-to remove one of the duplicates at fetch time. To do so, you
-can add a rule similar to this to your Makefile before including
-'erlang.mk':
-
-[source,make]
-----
-DEPS_DIR = $(CURDIR)/deps
-
-deps:: $(DEPS_DIR)/cowlib
- $(verbose) rm -f $(DEPS_DIR)/cowlib/src/cow_ws.erl
-----
-
-This must be done from the application that has this dependency.
-Only define the `DEPS_DIR` variable if necessary.
-
-=== Skipping deps
-
-It is possible to temporarily skip all dependency operations.
-This is done by defining the `SKIP_DEPS` variable. Use cases
-include being somewhere with no connection to download them,
-or perhaps a peculiar setup.
-
-A typical usage would be:
-
-[source,bash]
-$ make SKIP_DEPS=1
-
-When the variable is defined:
-
-* Dependencies will not be compiled or downloaded when required
-* The dependency directory '$(DEPS_DIR)' will not be removed on `make distclean`
-
-This variable only applies to remote dependencies.
diff --git a/docs/en/erlang.mk/1/guide/deps/index.html b/docs/en/erlang.mk/1/guide/deps/index.html
deleted file mode 100644
index 5db76ee6..00000000
--- a/docs/en/erlang.mk/1/guide/deps/index.html
+++ /dev/null
@@ -1,596 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
-
- <title>Nine Nines: Packages and dependencies</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href="/css/99s.css?r=5" rel="stylesheet">
-
- <link rel="shortcut icon" href="/img/ico/favicon.ico">
- <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
- <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
- <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
-
-
-</head>
-
-
-<body class="">
- <header id="page-head">
- <div id="topbar" class="container">
- <div class="row">
- <div class="span2">
- <h1 id="logo"><a href="/" title="99s">99s</a></h1>
- </div>
- <div class="span10">
-
- <div id="side-header">
- <nav>
- <ul>
- <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
- <li><a title="Watch my talks" href="/talks">Talks</a></li>
- <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
- <li><a title="Request my services" href="/services">Consulting & Training</a></li>
- </ul>
- </nav>
- <ul id="social">
- <li>
- <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
- </li>
- <li>
- <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-
-</header>
-
-<div id="contents" class="two_col">
-<div class="container">
-<div class="row">
-<div id="docs" class="span9 maincol">
-
-<h1 class="lined-header"><span>Packages and dependencies</span></h1>
-
-<p>Erlang.mk can fetch and compile the dependencies that your project requires. Erlang.mk improves upon the concepts introduced by Rebar, so they should be familiar to many seasoned Erlang developers.</p>
-<p>Erlang.mk is not a package manager, nor is it trying to be, but it does include an index of Erlang packages to make discovering useful projects easier.</p>
-<p>This chapter will explain how to use packages, add dependencies to your project or bundle them directly in a single repository.</p>
-<h2 id="_searching_packages">Searching packages</h2>
-<p>Erlang.mk gives you access to nearly 500 packages, with more being added regularly.</p>
-<p>To find a package, search for it:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make search <font color="#009900">q</font><font color="#990000">=</font>pool</tt></pre>
-</div></div>
-<p>This will return all packages matching this word, like worker pool and acceptor pool projects.</p>
-<p>You can also list everything and use regular command line tools to find what you need, for example:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make search <font color="#990000">|</font> less</tt></pre>
-</div></div>
-<!-- @todo Simplify adding packages, add a new chapter explaining-->
-<!-- everything, then link to this new chapter from here.-->
-<h2 id="_adding_dependencies_to_your_project">Adding dependencies to your project</h2>
-<p>Once you find the package you need, adding it as a dependency to your project is a one-liner:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">DEPS =</font> cowboy</tt></pre>
-</div></div>
-<p>And that&apos;s it! The next time you run <code>make</code>, Erlang.mk will fetch and compile Cowboy. Erlang.mk will also ensure Cowboy is available whenever you use the shell, run tests and any other operations.</p>
-<p>Erlang.mk will fill in the application resource file with all applications found in <code>DEPS</code>. But not all dependencies are Erlang applications, and not all dependencies need to be a runtime dependency. That&apos;s where the <code>BUILD_DEPS</code> variable comes in: it works just like <code>DEPS</code>, except the dependencies listed there will not be added as runtime dependencies.</p>
-<p>For example, you could add a parse transform project like this to make it available only at build time:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">BUILD_DEPS =</font> erlando</tt></pre>
-</div></div>
-<p>Or you could depend on a C project directly, if you are building a NIF:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">BUILD_DEPS =</font> leveldb
-<font color="#009900">dep_leveldb =</font> git https<font color="#990000">:</font>//github.com/basho/leveldb 2.1.3</tt></pre>
-</div></div>
-<p>This dependency will be built before your application, so you could easily copy the resulting shared file into your <em>priv/</em> directory as part of the build process. More information about that in the <a href="../ports">NIFs and port drivers</a> chapter.</p>
-<p>Another variable, <code>LOCAL_DEPS</code>, allows specifying runtime dependencies which are part of Erlang/OTP itself, but also dependencies that are included in the repository. Since they are already on your system, there is no need to fetch them. Do note that there is no way to choose the version, the application used will be the one already on your system.</p>
-<p>You could depend on the Crypto application, for example:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">LOCAL_DEPS =</font> crypto</tt></pre>
-</div></div>
-<p>Erlang.mk comes with additional types of dependencies. It has <code>TEST_DEPS</code> for dependencies used only for testing:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">TEST_DEPS =</font> ct_helper
-<font color="#009900">dep_ct_helper =</font> git https<font color="#990000">:</font>//github.com/ninenines/ct_helper master</tt></pre>
-</div></div>
-<p><code>DOC_DEPS</code> for dependencies used only when building documentation:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">DOC_DEPS =</font> edown</tt></pre>
-</div></div>
-<p><code>REL_DEPS</code> for dependencies required to build the release, or to include extra applications in the release:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">REL_DEPS =</font> recon</tt></pre>
-</div></div>
-<p>And <code>SHELL_DEPS</code> for dependencies to make available when running the <code>make shell</code> command:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">SHELL_DEPS =</font> tddreloader</tt></pre>
-</div></div>
-<p>All these will be documented in more details in their respective chapters.</p>
-<p>Note that these additional types of dependencies will only be fetched after normal dependencies by default. You can force a dependency to be downloaded first by extending the target <code>deps::</code> before including <em>erlang.mk</em>, for example:</p>
-<dl><dt>deps</dt>
-<dd><p>$(CURDIR)/deps/triq</p>
-</dd>
-</dl>
-<h4 id="_modifying_the_dependency_source_or_version">Modifying the dependency source or version</h4>
-<p>By default, Erlang.mk will look into its package index to find the project you are looking for, if you only provide its name. This is this case:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">DEPS =</font> cowboy</tt></pre>
-</div></div>
-<p>If you need a different version, you need to define another variable. There are two ways to do this, each being useful for different reasons.</p>
-<p>If you simply want to change the commit number, all you need to do is to define the <code>dep_$(DEP_NAME)_commit</code> variable. In the case of Cowboy, this would look like this:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">DEPS =</font> cowboy
-<font color="#009900">dep_cowboy_commit =</font> 2.0.0-pre.2</tt></pre>
-</div></div>
-<p>Erlang.mk will use the package index to get all information about Cowboy, except the commit number which will be overriden.</p>
-<p>If you need to set the fetch method or repository information too, for example because you want to use your own fork, or simply because the project is missing from the index, you can define the <code>dep_$(DEP_NAME)</code> variable with everything:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">DEPS =</font> cowboy
-<font color="#009900">dep_cowboy =</font> git https<font color="#990000">:</font>//github.com/essen/cowboy 2.0.0-pre.2</tt></pre>
-</div></div>
-<p>This will fetch Cowboy from your fork at the given commit.</p>
-<h4 id="_fetch_methods">Fetch methods</h4>
-<p>Erlang.mk comes with a number of different fetch methods. You can fetch from Git, Mercurial, SVN, to name a few. There are fetch methods that will work everywhere, and fetch methods that will only work in a given environment.</p>
-<p>The following table lists all existing methods:</p>
-<table rules="all" width="100%" frame="border"
- cellspacing="0" cellpadding="4">
-<thead><tr><th>Name</th>
-<th>Format</th>
-<th>Description</th>
-</tr></thead><tbody><tr><td>git</td>
-<td>git repo commit</td>
-<td>Clone the Git repository and checkout the given version</td>
-</tr>
-<tr><td>git-subfolder</td>
-<td>git repo commit subfolder</td>
-<td>Clone the Git repository, checkout the given version and use one of its subfolders as a dependency</td>
-</tr>
-<tr><td>git-submodule</td>
-<td>git-submodule</td>
-<td>Initialize and update the Git submodule</td>
-</tr>
-<tr><td>hg</td>
-<td>hg repo commit</td>
-<td>Clone the Mercurial repository and update to the given version</td>
-</tr>
-<tr><td>svn</td>
-<td>svn repo</td>
-<td>Checkout the given SVN repository</td>
-</tr>
-<tr><td>cp</td>
-<td>cp path/to/repo</td>
-<td>Recursively copy a local directory</td>
-</tr>
-<tr><td>ln</td>
-<td>ln path/to/repo</td>
-<td>Symbolically link a local directory</td>
-</tr>
-<tr><td>hex</td>
-<td>hex version</td>
-<td>Download the given project version from hex.pm</td>
-</tr>
-<tr><td>fail</td>
-<td>N/A</td>
-<td>Always fail, reserved for internal use</td>
-</tr>
-<tr><td>legacy</td>
-<td>N/A</td>
-<td>Legacy Erlang.mk fetcher, reserved for internal use</td>
-</tr>
-</tbody></table>
-<p>The <code>git</code> and <code>hg</code> methods both have a repository and commit. You can use any valid commit, tag or branch in that repository for the commit value.</p>
-<p>For example, to fetch Cowboy with tag 2.0.0-pre.2 from Git:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">dep_cowboy =</font> git https<font color="#990000">:</font>//github.com/ninenines/cowboy 2.0.0-pre.2</tt></pre>
-</div></div>
-<p>Or to fetch Ehsa tag 4.0.3 from Mercurial:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">dep_ehsa =</font> hg https<font color="#990000">:</font>//bitbucket.org/a12n/ehsa 4.0.3</tt></pre>
-</div></div>
-<p>Git also comes with a concept of submodules. Erlang.mk can automatically initializes and updates submodules for dependencies, as long as they were added beforehand using <code>git submodule add</code>:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">dep_cowboy =</font> git-submodule</tt></pre>
-</div></div>
-<p>The <code>svn</code> method only has a repository value, but that&apos;s simply because the SVN repository URL can also contain the path and commit.</p>
-<p>This would fetch an example project from the trunk:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">dep_ex1 =</font> svn https<font color="#990000">:</font>//example.com/svn/trunk/project/ex<font color="#993399">1</font></tt></pre>
-</div></div>
-<p>And this would fetch a separate example project from a specific commit:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">dep_ex2 =</font> svn svn<font color="#990000">:</font>//example.com/svn/branches/erlang-proj/ex<font color="#993399">2</font>@<font color="#993399">264</font></tt></pre>
-</div></div>
-<p>You can copy a directory from your machine using the <code>cp</code> method. It only takes the path to copy from:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">dep_cowboy =</font> cp <font color="#009900">$(HOME)</font>/ninenines/cowboy</tt></pre>
-</div></div>
-<p>Finally, you can use a package from the <a href="https://hex.pm/">Hex repository</a>:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">dep_cowboy =</font> hex 1.0.3</tt></pre>
-</div></div>
-<h4 id="_custom_fetch_methods">Custom fetch methods</h4>
-<p>If none of the existing methods fit your use, you can simply define your own. Erlang.mk will consider all variables that are named as <code>dep_fetch_$(METHOD)</code> to be available fetch methods. You can do anything inside this variable, as long as you create a folder named <em>$(DEPS_DIR)/$(call dep_name,$1)</em>. Or in layman terms, if your dependency is Cowboy, this would become <em>deps/cowboy</em>.</p>
-<p>To give an example, this is what the Git method does:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>define dep_fetch_git
- git clone -q -n -- <font color="#009900">$(</font>call dep_repo<font color="#990000">,</font><font color="#009900">$1</font><font color="#990000">)</font> <font color="#009900">$(DEPS_DIR)</font><font color="#990000">/</font><font color="#009900">$(</font>call dep_name<font color="#990000">,</font><font color="#009900">$1</font><font color="#990000">);</font> <font color="#990000">\</font>
- cd <font color="#009900">$(DEPS_DIR)</font><font color="#990000">/</font><font color="#009900">$(</font>call dep_name<font color="#990000">,</font><font color="#009900">$1</font><font color="#990000">)</font> <font color="#990000">&amp;&amp;</font> git checkout -q <font color="#009900">$(</font>call dep_commit<font color="#990000">,</font><font color="#009900">$1</font><font color="#990000">);</font>
-endef</tt></pre>
-</div></div>
-<p>Note that, like dependency information, this custom fetch method must be written before including <em>erlang.mk</em>.</p>
-<h2 id="_how_deps_are_fetched_and_built">How deps are fetched and built</h2>
-<p>The order in which dependencies are fetched and built is well defined. This means that Erlang.mk will get the same applications regardless of the command or options being used.</p>
-<p>In tree traversal terms, where the list of dependencies is a tree, Erlang.mk fetches everything using the pre-order traversal method. The steps can be summarized like this, starting from the root application:</p>
-<ol><li>Fetch all dependencies for the application
-</li>
-<li>Build first dependency
-</li>
-<li>Build Nth dependency
-</li>
-<li>Build last dependency
-</li>
-</ol>
-<p>Every time a dependency is built, these same steps are followed, recursively.</p>
-<p>Do note that the first step, fetching all dependencies of an application, is not guaranteed to be ordered. The reason for this is that it is not possible to have the same dependency listed twice in a single application, and therefore there can be no conflicts. Remember, this step only fetches, at no point are different applications built in parallel.</p>
-<p>What about conflicts between the dependencies of different applications? Simple. Since builds are ordered, this means that the first version of an application that is fetched will be the one that wins.</p>
-<p>This means that if project A depends on projects B and C, in this order, and that both B and C depend on a different version of D, it will always be B&apos;s version of D that wins, because we fetch the dependencies of B before fetching those from C.</p>
-<p>Similarly, if project A depends on projects B, C and D, regardless of the order, and A, B and C depend on a different version of D, it will always be A&apos;s version that wins, because we fetch all dependencies of A before fetching those from B or C.</p>
-<p>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:</p>
-<ul><li>The dependency directory is a symbolic link; the dependency will always be recompiled.
-</li>
-<li>The dependency is built directly, for example with a command like <code>make -C deps/cowlib</code>, or <code>make</code> in the dependency&apos;s directory.
-</li>
-<li>The variable <code>FULL</code> is set, for example <code>make FULL=1</code>. This will force building of all dependencies. This can be added to your Makefile before including <em>erlang.mk</em>.
-</li>
-<li>The file <code>ebin/dep_built</code> in the dependency is removed.
-</li>
-</ul>
-<h2 id="_fetching_and_listing_dependencies_only">Fetching and listing dependencies only</h2>
-<p>You can fetch all dependencies recursively without building anything, with the <code>make fetch-deps</code> command. It follows the same rules described in the section above.</p>
-<p>You can list all dependencies recursively, again without building anything, with the <code>make list-deps</code> command. It will obviously need to fetch all dependencies exactly like <code>make fetch-deps</code>. Once everything is fetched, it prints a sorted list of absolute paths to the dependencies.</p>
-<p>By default, <code>fetch-deps</code> and <code>list-deps</code> work on the <code>BUILD_DEPS</code> and <code>DEPS</code> lists only. To also fetch/list <code>TEST_DEPS</code>, <code>DOC_DEPS</code>, <code>REL_DEPS</code> and/or <code>SHELL_DEPS</code>, you have two possibilities:</p>
-<ul><li>You can use <code>make fetch-test-deps</code>, <code>make fetch-doc-deps</code>, <code>make
-fetch-rel-deps</code> and <code>make fetch-shell-deps</code> commands respectively. If you want to list them, you can use <code>make list-test-deps</code>, <code>make
-list-doc-deps</code>, <code>make list-rel-deps</code> and <code>make list-shell-deps</code> respectively.
-</li>
-<li>You can use <code>make fetch-deps</code> or <code>make list-deps</code> with the Makefile variable <code>DEP_TYPES</code> set to a list of dependency types you want. The types are <code>test</code>, <code>doc</code>, <code>rel</code> and <code>shell</code> respectively. For example, you can list test and doc dependencies with <code>make list-deps
-DEP_TYPES=&apos;test doc&apos;</code>.
-</li>
-</ul>
-<p>Note that only first level <code>TEST_DEPS</code>, <code>DOC_DEPS</code>, <code>REL_DEPS</code> and <code>SHELL_DEPS</code> are included, not dependencies&apos; one. In other word, <code>make list-test-deps</code> lists the <code>TEST_DEPS</code> of your project, but not <code>TEST_DEPS</code> of the projects yours depend on.</p>
-<p>No matter which method you use, <code>BUILD_DEPS</code> and <code>DEPS</code> are always included.</p>
-<p>Internally, the <code>make fetch-*</code> commands store the complete list of dependencies in files named <code>$(ERLANG_MK_RECURSIVE_DEPS_LIST)</code>, <code>$(ERLANG_MK_RECURSIVE_TEST_DEPS_LIST)</code>, <code>$(ERLANG_MK_RECURSIVE_DOC_DEPS_LIST)</code>, <code>$(ERLANG_MK_RECURSIVE_REL_DEPS_LIST)</code> and <code>$(ERLANG_MK_RECURSIVE_SHELL_DEPS_LIST)</code>. Those files are simply printed by the <code>make list-*</code> commands.</p>
-<p><code>make list-*</code> commands are made for human beings. If you need the list of dependencies in a Makefile or a script, you should use the content of those files directly instead. The reason is that <code>make fetch-*</code> and <code>make list-*</code> may have unwanted content in their output, such as actual fetching of dependencies.</p>
-<h2 id="_ignoring_unwanted_dependencies">Ignoring unwanted dependencies</h2>
-<p>Sometimes, you may want to ignore dependencies entirely. Not even fetch them. You may want to do this because a project you depend on depends on an application you do not need (like a dependency for building documentation or testing). Or maybe the dependency is already installed on your system.</p>
-<p>To ignore a dependency, simply add it to the <code>IGNORE_DEPS</code> variable:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>IGNORE_DEPS <font color="#990000">+=</font> edown proper</tt></pre>
-</div></div>
-<p>This will only ignore dependencies that are needed for building. It is therefore safe to write:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>IGNORE_DEPS <font color="#990000">+=</font> edown proper
-<font color="#009900">TEST_DEPS =</font> proper</tt></pre>
-</div></div>
-<p>The PropEr application will be fetched as intended when running <code>make tests</code> or <code>make check</code>. It will however not be fetched when running <code>make</code> or <code>make deps</code>.</p>
-<h2 id="_dependencies_directory">Dependencies directory</h2>
-<p>Dependencies are fetched in <em>$(DEPS_DIR)</em>. By default this is the <em>deps</em> directory. You can change this default, but you should only do so if it was not defined previously. Erlang.mk uses this variable to tell dependencies where to fetch their own dependencies.</p>
-<p>You will therefore need to use <code>?=</code> instead of <code>=</code>. Of course, if you know you will never use this project as a dependency, <code>=</code> will work. But to avoid it biting you later on, do this:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>DEPS_DIR <font color="#990000">?=</font> <font color="#009900">$(CURDIR)</font>/libs</tt></pre>
-</div></div>
-<p>The <code>$(CURDIR)</code> part is important, otherwise dependencies of dependencies will be fetched in the wrong directory.</p>
-<p>Erlang.mk will also export the <code>REBAR_DEPS_DIR</code> variable for compatibility with Rebar build tools, as long as they are recent enough.</p>
-<h2 id="_many_applications_in_one_repository">Many applications in one repository</h2>
-<p>In addition to the dependencies that are fetched, Erlang.mk also allows you to have dependencies local to your repository. This kind of layout is sometimes called multi-application repositories, or repositories with multiple applications.</p>
-<p>They work exactly the same as remote dependencies, except:</p>
-<ul><li>They are not fetched
-</li>
-<li>They are not autopatched
-</li>
-<li>They are not deleted on <code>make distclean</code>
-</li>
-<li>They are not automatically added to the application resource file
-</li>
-</ul>
-<p>To properly fill the application resource file and compile apps in the right order, you will need to define the <code>LOCAL_DEPS</code> variable for each relevant application, the same as for OTP applications. Apps can depend on each other in this way, and their compilation order will follow the same rules as regular dependencies in <code>DEPS</code>.</p>
-<p>The top-level <code>LOCAL_DEPS</code> variable, if defined, will determine which apps (along with their dependencies) to build, and also which apps should be added to the top-level application resource file, if there is one. This may be useful, for example, for specifying a different set of apps to build for different releases. If <code>LOCAL_DEPS</code> is not defined, then all apps in the <em>$(APPS_DIR)</em> will be built, but none will be automatically added to the top-level application resource file.</p>
-<p>If there is a conflict between a local dependency and a remote dependency, then the local dependency always wins; an error will be triggered when trying to fetch the conflicting remote dependency.</p>
-<p>To start using dependencies local to the repository, simply create a folder named <em>$(APPS_DIR)</em>. By default, this folder is the <em>apps/</em> directory.</p>
-<p>You can use Erlang.mk to bootstrap local dependencies by using the command <code>make new-app</code> or <code>make new-lib</code>. This command will create the necessary directories and bootstrap the application.</p>
-<p>For example, to create a full fledged OTP application as a local dependency:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make new-app <b><font color="#0000FF">in</font></b><font color="#990000">=</font>webchat</tt></pre>
-</div></div>
-<p>Or, the same as an OTP library:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make new-lib <b><font color="#0000FF">in</font></b><font color="#990000">=</font>webchat</tt></pre>
-</div></div>
-<p>Templates also work with local dependencies, from the root directory of the project. You do need however to tell Erlang.mk to create the files in the correct application:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make new <font color="#009900">t</font><font color="#990000">=</font>gen_server <font color="#009900">n</font><font color="#990000">=</font>my_server <b><font color="#0000FF">in</font></b><font color="#990000">=</font>webchat</tt></pre>
-</div></div>
-<h2 id="_repositories_with_no_application_at_the_root_level">Repositories with no application at the root level</h2>
-<p>It&apos;s possible to use Erlang.mk with only applications in <em>$(APPS_DIR)</em>, and nothing at the root of the repository. Just create a folder, put the <em>erlang.mk</em> file in it, write a Makefile that includes it, and start creating your applications.</p>
-<p>Similarly, it&apos;s possible to have a repository with only dependencies found in <em>$(DEPS_DIR)</em>. You just need to create a Makefile and specify the dependencies you want. This allows you to create a repository for handling the building of releases, for example.</p>
-<h2 id="_autopatch">Autopatch</h2>
-<p>Erlang.mk will automatically patch all the dependencies it fetches. It needs to do this to ensure that the dependencies become compatible with not only Erlang.mk, but also with the version of Erlang.mk that is currently used.</p>
-<p>When fetching a dependency, the following operations are performed:</p>
-<ul><li>Fetch the dependency using the configured fetch method
-</li>
-<li>If it contains a <em>configure.ac</em> or <em>configure.in</em> file, run <code>autoreconf -Wall -vif -I m4</code>
-</li>
-<li>If it contains a <em>configure</em> script, run it
-</li>
-<li>Run autopatch on the project
-</li>
-</ul>
-<p>Autopatch first checks if there is any project-specific patch enabled. There are currently three: <code>RABBITMQ_CLIENT_PATCH</code> for the <code>amqp_client</code> dependency (before 3.6.0), <code>RABBITMQ_SERVER_PATCH</code> for the <code>rabbit</code> dependency (before 3.6.0) and <code>ELIXIR_PATCH</code> for the <code>elixir</code> dependency.</p>
-<p>Otherwise, autopatch performs different operations depending on the kind of project it finds the dependency to be.</p>
-<ul><li>Rebar projects are automatically converted to use Erlang.mk as their build tool. This essentially patches Rebar out, and fixes and converts the project to be compatible with Erlang.mk.
-</li>
-<li>Erlang.mk projects have their <em>Makefile</em> patched, if necessary, to include the top-level project&apos;s Erlang.mk. This is to ensure that functionality works across all dependencies, even if the dependency&apos;s Erlang.mk is outdated. The patched Makefile can be safely committed if necessary.
-</li>
-<li>Other Erlang projects get a small Erlang.mk Makefile generated automatically.
-</li>
-<li>Projects with no source directory and no Makefile get an empty Makefile generated, for compatibility purposes.
-</li>
-<li>Other projects with no Makefile are left untouched.
-</li>
-</ul>
-<p>You can add additional commands to be run immediately before or after autopatch is done by extending the target <code>autopatch-$(dep)::</code>, for example this would remove a module:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#990000">autopatch-ranch::</font>
- rm -f <font color="#009900">$(DEPS_DIR)</font>/ranch/src/ranch_proxy_header.erl</tt></pre>
-</div></div>
-<p>A common use case for this feature is to apply a PATCH file on the dependency immediately after fetching it. It can also be used to add compiler options, for example:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#990000">autopatch-couchbeam::</font>
- <b><font color="#0000FF">printf</font></b> <font color="#FF0000">"</font><font color="#CC33CC">\n</font><font color="#FF0000">ERLC_OPTS += -DWITH_JIFFY</font><font color="#CC33CC">\n</font><font color="#FF0000">"</font> <font color="#990000">&gt;&gt;</font> <font color="#009900">$(DEPS_DIR)</font>/couchbeam/Makefile</tt></pre>
-</div></div>
-<p>The commands will run before autopatch when the target is defined before including <em>erlang.mk</em>, and after otherwise.</p>
-<p>You can disable the replacing of the <em>erlang.mk</em> file by defining the <code>NO_AUTOPATCH_ERLANG_MK</code> variable:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">NO_AUTOPATCH_ERLANG_MK =</font> <font color="#993399">1</font></tt></pre>
-</div></div>
-<p>You can also disable autopatch entirely for a few select projects using the <code>NO_AUTOPATCH</code> variable:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">NO_AUTOPATCH =</font> cowboy ranch cowlib</tt></pre>
-</div></div>
-<h2 id="_dealing_with_duplicate_modules">Dealing with duplicate modules</h2>
-<p>When there are duplicate modules found in both applications and their dependencies, some tasks may fail. Erlang expects modules to be unique in general.</p>
-<p>When the duplicates are found in dependencies, you will need to remove one of the duplicates at fetch time. To do so, you can add a rule similar to this to your Makefile before including <em>erlang.mk</em>:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">DEPS_DIR =</font> <font color="#009900">$(CURDIR)</font>/deps
-
-<font color="#990000">deps::</font> <font color="#009900">$(DEPS_DIR)</font>/cowlib
- <font color="#009900">$(verbose)</font> rm -f <font color="#009900">$(DEPS_DIR)</font>/cowlib/src/cow_ws.erl</tt></pre>
-</div></div>
-<p>This must be done from the application that has this dependency. Only define the <code>DEPS_DIR</code> variable if necessary.</p>
-<h2 id="_skipping_deps">Skipping deps</h2>
-<p>It is possible to temporarily skip all dependency operations. This is done by defining the <code>SKIP_DEPS</code> variable. Use cases include being somewhere with no connection to download them, or perhaps a peculiar setup.</p>
-<p>A typical usage would be:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make <font color="#009900">SKIP_DEPS</font><font color="#990000">=</font><font color="#993399">1</font></tt></pre>
-</div></div>
-<p>When the variable is defined:</p>
-<ul><li>Dependencies will not be compiled or downloaded when required
-</li>
-<li>The dependency directory <em>$(DEPS_DIR)</em> will not be removed on <code>make distclean</code>
-</li>
-</ul>
-<p>This variable only applies to remote dependencies.</p>
-
-
-
-
-
-
-
-
-
-
-
- <nav style="margin:1em 0">
-
- <a style="float:left" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/app/">
- Building
- </a>
-
-
-
- <a style="float:right" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/ports/">
- NIFs and port drivers
- </a>
-
- </nav>
-
-
-
-
-</div>
-
-<div class="span3 sidecol">
-
-
-<h3>
- Erlang.mk
- 1
-
- User Guide
-</h3>
-
-<ul>
-
-
-
-</ul>
-
-<h4 id="docs-nav">Navigation</h4>
-
-<h4>Version select</h4>
-<ul>
-
-
-
- <li><a href="/docs/en/erlang.mk/1/guide">1</a></li>
-
-</ul>
-
-<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
-<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
-<input type="hidden" name="cmd" value="_donations">
-<input type="hidden" name="business" value="[email protected]">
-<input type="hidden" name="lc" value="FR">
-<input type="hidden" name="item_name" value="Loic Hoguin">
-<input type="hidden" name="item_number" value="99s">
-<input type="hidden" name="currency_code" value="EUR">
-<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
-</form><p>Recurring payment options are also available via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to cover the recurring expenses like dedicated servers or domain names.</p>
-
-
-
-</div>
-</div>
-</div>
-</div>
-
- <footer>
- <div class="container">
- <div class="row">
- <div class="span6">
- <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
- <nav>
- <ul>
- <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
- </ul>
- </nav>
- </div>
- <div class="span6 credits">
- <p><img src="/img/footer_logo.png"></p>
- <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
- </div>
- </div>
- </div>
- </footer>
-
-
- <script src="/js/custom.js"></script>
- </body>
-</html>
-
-
diff --git a/docs/en/erlang.mk/1/guide/dialyzer.asciidoc b/docs/en/erlang.mk/1/guide/dialyzer.asciidoc
deleted file mode 100644
index 60311137..00000000
--- a/docs/en/erlang.mk/1/guide/dialyzer.asciidoc
+++ /dev/null
@@ -1,86 +0,0 @@
-[[dialyzer]]
-== Dialyzer
-
-Dialyzer is a tool that will detect discrepancies in your
-program. It does so using a technique known as success
-typing analysis which has the advantage of providing no
-false positives. Dialyzer is able to detect type errors,
-dead code and more.
-
-Erlang.mk provides a wrapper around Dialyzer.
-
-=== How it works
-
-Dialyzer requires a PLT file to work. The PLT file contains
-the analysis information from all applications which are not
-expected to change, or rarely do. These would be all the
-dependencies of the application or applications you are
-currently working on, including standard applications in
-Erlang/OTP itself.
-
-Dialyzer can generate this PLT file. Erlang.mk includes rules
-to automatically generate the PLT file when it is missing.
-
-Once the PLT file is generated, Dialyzer can perform the
-analysis in record time.
-
-=== Configuration
-
-In a typical usage scenario, no variable needs to be set.
-The defaults should be enough. Do note however that the
-dependencies need to be set properly using the `DEPS` and
-`LOCAL_DEPS` variables.
-
-The `DIALYZER_PLT` file indicates where the PLT file will
-be written to (and read from). By default this is
-'$(PROJECT).plt' in the project's directory. Note that
-the `DIALYZER_PLT` variable is exported and is understood
-by Dialyzer directly.
-
-The `PLT_APPS` variable can be used to add additional
-applications to the PLT. You can either list application
-names or paths to these applications.
-
-Erlang.mk defines two variables for specifying options
-for the analysis: `DIALYZER_DIRS` and `DIALYZER_OPTS`.
-The former one defines which directories should be part
-of the analysis. The latter defines what extra warnings
-Dialyzer should report.
-
-Note that Erlang.mk enables the race condition warnings
-by default. As it can take considerably large resources
-to run, you may want to disable it on larger projects.
-
-=== Usage
-
-To perform an analysis, run the following command:
-
-[source,bash]
-$ make dialyze
-
-This will create the PLT file if it doesn't exist.
-
-The analysis will also be performed when you run the
-following command, alongside tests:
-
-[source,bash]
-$ make check
-
-You can use the `plt` target to create the PLT file if
-it doesn't exist. This is normally not necessary as
-Dialyzer creates it automatically.
-
-The PLT file will be removed when you run `make distclean`.
-
-=== Dialyzing beam files
-
-By default Erlang.mk will run Dialyzer against the source
-code. It is possible to configure Erlang.mk to use the
-compiled source files instead. This is done using the
-`DIALYZER_DIRS` variable:
-
-[source,make]
-DIALYZER_DIRS = -r ebin
-
-This value must be set before including Erlang.mk to
-function properly.
diff --git a/docs/en/erlang.mk/1/guide/dialyzer/index.html b/docs/en/erlang.mk/1/guide/dialyzer/index.html
deleted file mode 100644
index 4f53259d..00000000
--- a/docs/en/erlang.mk/1/guide/dialyzer/index.html
+++ /dev/null
@@ -1,206 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
-
- <title>Nine Nines: Dialyzer</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href="/css/99s.css?r=5" rel="stylesheet">
-
- <link rel="shortcut icon" href="/img/ico/favicon.ico">
- <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
- <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
- <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
-
-
-</head>
-
-
-<body class="">
- <header id="page-head">
- <div id="topbar" class="container">
- <div class="row">
- <div class="span2">
- <h1 id="logo"><a href="/" title="99s">99s</a></h1>
- </div>
- <div class="span10">
-
- <div id="side-header">
- <nav>
- <ul>
- <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
- <li><a title="Watch my talks" href="/talks">Talks</a></li>
- <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
- <li><a title="Request my services" href="/services">Consulting & Training</a></li>
- </ul>
- </nav>
- <ul id="social">
- <li>
- <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
- </li>
- <li>
- <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-
-</header>
-
-<div id="contents" class="two_col">
-<div class="container">
-<div class="row">
-<div id="docs" class="span9 maincol">
-
-<h1 class="lined-header"><span>Dialyzer</span></h1>
-
-<p>Dialyzer is a tool that will detect discrepancies in your program. It does so using a technique known as success typing analysis which has the advantage of providing no false positives. Dialyzer is able to detect type errors, dead code and more.</p>
-<p>Erlang.mk provides a wrapper around Dialyzer.</p>
-<h2 id="_how_it_works">How it works</h2>
-<p>Dialyzer requires a PLT file to work. The PLT file contains the analysis information from all applications which are not expected to change, or rarely do. These would be all the dependencies of the application or applications you are currently working on, including standard applications in Erlang/OTP itself.</p>
-<p>Dialyzer can generate this PLT file. Erlang.mk includes rules to automatically generate the PLT file when it is missing.</p>
-<p>Once the PLT file is generated, Dialyzer can perform the analysis in record time.</p>
-<h2 id="_configuration">Configuration</h2>
-<p>In a typical usage scenario, no variable needs to be set. The defaults should be enough. Do note however that the dependencies need to be set properly using the <code>DEPS</code> and <code>LOCAL_DEPS</code> variables.</p>
-<p>The <code>DIALYZER_PLT</code> file indicates where the PLT file will be written to (and read from). By default this is <em>$(PROJECT).plt</em> in the project&apos;s directory. Note that the <code>DIALYZER_PLT</code> variable is exported and is understood by Dialyzer directly.</p>
-<p>The <code>PLT_APPS</code> variable can be used to add additional applications to the PLT. You can either list application names or paths to these applications.</p>
-<p>Erlang.mk defines two variables for specifying options for the analysis: <code>DIALYZER_DIRS</code> and <code>DIALYZER_OPTS</code>. The former one defines which directories should be part of the analysis. The latter defines what extra warnings Dialyzer should report.</p>
-<p>Note that Erlang.mk enables the race condition warnings by default. As it can take considerably large resources to run, you may want to disable it on larger projects.</p>
-<h2 id="_usage">Usage</h2>
-<p>To perform an analysis, run the following command:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make dialyze</tt></pre>
-</div></div>
-<p>This will create the PLT file if it doesn&apos;t exist.</p>
-<p>The analysis will also be performed when you run the following command, alongside tests:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make check</tt></pre>
-</div></div>
-<p>You can use the <code>plt</code> target to create the PLT file if it doesn&apos;t exist. This is normally not necessary as Dialyzer creates it automatically.</p>
-<p>The PLT file will be removed when you run <code>make distclean</code>.</p>
-<h2 id="_dialyzing_beam_files">Dialyzing beam files</h2>
-<p>By default Erlang.mk will run Dialyzer against the source code. It is possible to configure Erlang.mk to use the compiled source files instead. This is done using the <code>DIALYZER_DIRS</code> variable:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">DIALYZER_DIRS =</font> -r ebin</tt></pre>
-</div></div>
-<p>This value must be set before including Erlang.mk to function properly.</p>
-
-
-
-
-
-
-
-
-
-
-
- <nav style="margin:1em 0">
-
- <a style="float:left" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/ci/">
- Continuous integration
- </a>
-
-
-
- <a style="float:right" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/xref/">
- Xref
- </a>
-
- </nav>
-
-
-
-
-</div>
-
-<div class="span3 sidecol">
-
-
-<h3>
- Erlang.mk
- 1
-
- User Guide
-</h3>
-
-<ul>
-
-
-
-</ul>
-
-<h4 id="docs-nav">Navigation</h4>
-
-<h4>Version select</h4>
-<ul>
-
-
-
- <li><a href="/docs/en/erlang.mk/1/guide">1</a></li>
-
-</ul>
-
-<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
-<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
-<input type="hidden" name="cmd" value="_donations">
-<input type="hidden" name="business" value="[email protected]">
-<input type="hidden" name="lc" value="FR">
-<input type="hidden" name="item_name" value="Loic Hoguin">
-<input type="hidden" name="item_number" value="99s">
-<input type="hidden" name="currency_code" value="EUR">
-<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
-</form><p>Recurring payment options are also available via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to cover the recurring expenses like dedicated servers or domain names.</p>
-
-
-
-</div>
-</div>
-</div>
-</div>
-
- <footer>
- <div class="container">
- <div class="row">
- <div class="span6">
- <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
- <nav>
- <ul>
- <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
- </ul>
- </nav>
- </div>
- <div class="span6 credits">
- <p><img src="/img/footer_logo.png"></p>
- <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
- </div>
- </div>
- </div>
- </footer>
-
-
- <script src="/js/custom.js"></script>
- </body>
-</html>
-
-
diff --git a/docs/en/erlang.mk/1/guide/edoc.asciidoc b/docs/en/erlang.mk/1/guide/edoc.asciidoc
deleted file mode 100644
index 2992a37d..00000000
--- a/docs/en/erlang.mk/1/guide/edoc.asciidoc
+++ /dev/null
@@ -1,61 +0,0 @@
-[[edoc]]
-== EDoc comments
-
-Erlang.mk provides a thin wrapper on top of EDoc, an application
-that generates documentation based on comments found in modules.
-
-=== Writing EDoc comments
-
-The http://www.erlang.org/doc/apps/edoc/chapter.html[EDoc user guide]
-explains everything you need to know about EDoc comments.
-
-=== Configuration
-
-The `EDOC_OPTS` variable allows you to specify additional
-EDoc options. Options are documented in the
-http://www.erlang.org/doc/man/edoc.html#run-2[EDoc manual].
-
-A common use for this variable is to enable Markdown in doc
-comments, using the `edown` application:
-
-[source,make]
-DOC_DEPS = edown
-EDOC_OPTS = {doclet, edown_doclet}
-
-=== Usage
-
-To build all documentation, you would typically use:
-
-[source,bash]
-$ make docs
-
-Do note, however, that EDoc comments will only be generated
-automatically if the 'doc/overview.edoc' file exists. If you
-do not want that file and still want to generate doc comments,
-two solutions are available.
-
-You can generate EDoc documentation directly:
-
-[source,bash]
-$ make edoc
-
-You can enable automatic generation on `make docs` by adding
-the following to your Makefile:
-
-[source,make]
-----
-docs:: edoc
-----
-
-=== Running EDoc on all applications
-
-In a multi-application project you may want to run EDoc
-against all applications at the same time, instead of
-against each applications independently. To do so, you
-need to configure the `EDOC_SRC_DIRS` at the end of
-your Makefile, after including 'erlang.mk':
-
-[source,make]
-----
-EDOC_SRC_DIRS = $(ALL_APPS_DIRS)
-----
diff --git a/docs/en/erlang.mk/1/guide/edoc/index.html b/docs/en/erlang.mk/1/guide/edoc/index.html
deleted file mode 100644
index 9cd5777c..00000000
--- a/docs/en/erlang.mk/1/guide/edoc/index.html
+++ /dev/null
@@ -1,211 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
-
- <title>Nine Nines: EDoc comments</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href="/css/99s.css?r=5" rel="stylesheet">
-
- <link rel="shortcut icon" href="/img/ico/favicon.ico">
- <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
- <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
- <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
-
-
-</head>
-
-
-<body class="">
- <header id="page-head">
- <div id="topbar" class="container">
- <div class="row">
- <div class="span2">
- <h1 id="logo"><a href="/" title="99s">99s</a></h1>
- </div>
- <div class="span10">
-
- <div id="side-header">
- <nav>
- <ul>
- <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
- <li><a title="Watch my talks" href="/talks">Talks</a></li>
- <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
- <li><a title="Request my services" href="/services">Consulting & Training</a></li>
- </ul>
- </nav>
- <ul id="social">
- <li>
- <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
- </li>
- <li>
- <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-
-</header>
-
-<div id="contents" class="two_col">
-<div class="container">
-<div class="row">
-<div id="docs" class="span9 maincol">
-
-<h1 class="lined-header"><span>EDoc comments</span></h1>
-
-<p>Erlang.mk provides a thin wrapper on top of EDoc, an application that generates documentation based on comments found in modules.</p>
-<h2 id="_writing_edoc_comments">Writing EDoc comments</h2>
-<p>The <a href="http://www.erlang.org/doc/apps/edoc/chapter.html">EDoc user guide</a> explains everything you need to know about EDoc comments.</p>
-<h2 id="_configuration">Configuration</h2>
-<p>The <code>EDOC_OPTS</code> variable allows you to specify additional EDoc options. Options are documented in the <a href="http://www.erlang.org/doc/man/edoc.html#run-2">EDoc manual</a>.</p>
-<p>A common use for this variable is to enable Markdown in doc comments, using the <code>edown</code> application:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">DOC_DEPS =</font> edown
-<font color="#009900">EDOC_OPTS =</font> {doclet<font color="#990000">,</font> edown_doclet}</tt></pre>
-</div></div>
-<h2 id="_usage">Usage</h2>
-<p>To build all documentation, you would typically use:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make docs</tt></pre>
-</div></div>
-<p>Do note, however, that EDoc comments will only be generated automatically if the <em>doc/overview.edoc</em> file exists. If you do not want that file and still want to generate doc comments, two solutions are available.</p>
-<p>You can generate EDoc documentation directly:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make edoc</tt></pre>
-</div></div>
-<p>You can enable automatic generation on <code>make docs</code> by adding the following to your Makefile:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#990000">docs::</font> edoc</tt></pre>
-</div></div>
-<h2 id="_running_edoc_on_all_applications">Running EDoc on all applications</h2>
-<p>In a multi-application project you may want to run EDoc against all applications at the same time, instead of against each applications independently. To do so, you need to configure the <code>EDOC_SRC_DIRS</code> at the end of your Makefile, after including <em>erlang.mk</em>:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">EDOC_SRC_DIRS =</font> <font color="#009900">$(ALL_APPS_DIRS)</font></tt></pre>
-</div></div>
-
-
-
-
-
-
-
-
-
-
-
- <nav style="margin:1em 0">
-
- <a style="float:left" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/asciidoc/">
- AsciiDoc documentation
- </a>
-
-
-
- <a style="float:right" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/sphinx/">
- Sphinx documentation
- </a>
-
- </nav>
-
-
-
-
-</div>
-
-<div class="span3 sidecol">
-
-
-<h3>
- Erlang.mk
- 1
-
- User Guide
-</h3>
-
-<ul>
-
-
-
-</ul>
-
-<h4 id="docs-nav">Navigation</h4>
-
-<h4>Version select</h4>
-<ul>
-
-
-
- <li><a href="/docs/en/erlang.mk/1/guide">1</a></li>
-
-</ul>
-
-<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
-<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
-<input type="hidden" name="cmd" value="_donations">
-<input type="hidden" name="business" value="[email protected]">
-<input type="hidden" name="lc" value="FR">
-<input type="hidden" name="item_name" value="Loic Hoguin">
-<input type="hidden" name="item_number" value="99s">
-<input type="hidden" name="currency_code" value="EUR">
-<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
-</form><p>Recurring payment options are also available via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to cover the recurring expenses like dedicated servers or domain names.</p>
-
-
-
-</div>
-</div>
-</div>
-</div>
-
- <footer>
- <div class="container">
- <div class="row">
- <div class="span6">
- <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
- <nav>
- <ul>
- <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
- </ul>
- </nav>
- </div>
- <div class="span6 credits">
- <p><img src="/img/footer_logo.png"></p>
- <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
- </div>
- </div>
- </div>
- </footer>
-
-
- <script src="/js/custom.js"></script>
- </body>
-</html>
-
-
diff --git a/docs/en/erlang.mk/1/guide/escripts.asciidoc b/docs/en/erlang.mk/1/guide/escripts.asciidoc
deleted file mode 100644
index 722dcc6f..00000000
--- a/docs/en/erlang.mk/1/guide/escripts.asciidoc
+++ /dev/null
@@ -1,83 +0,0 @@
-[[escript]]
-== Escripts
-
-Escripts are an alternative to release. They are meant to be
-used for small command line executables written in Erlang.
-
-They are not self-contained, unlike xref:relx[releases].
-Erlang must be installed for them to run. This however means
-that they are fairly small compared to releases.
-
-For self-contained executables, check xref:sfx[self-extracting releases].
-
-=== Requirements
-
-Erlang.mk uses `p7zip` by default to generate the escript
-archive. Make sure it is installed. On most systems the
-package is named `p7zip`; on Ubuntu you need `p7zip-full`.
-
-If `p7zip` is unavailable, `zip` may be used by setting
-the `ESCRIPT_ZIP` variable. For example:
-
-[source,bash]
-$ make escript ESCRIPT_ZIP=zip
-
-=== Generating an escript
-
-Run the following command to generate an escript:
-
-[source,bash]
-$ make escript
-
-This will by default create an escript with the same name as
-the project, in the project's directory. If the project is
-called `relx` then the escript will be in `./relx`.
-
-You can run the escript as you would any executable:
-
-[source,bash]
-$ ./relx
-
-=== Configuration
-
-You can change the name of the escript by setting `ESCRIPT_NAME`.
-The name determines both the default output file name and the
-entry module containing the function `main/1`.
-
-`ESCRIPT_FILE` can be set if you need a different file name
-or location.
-
-The escript header can be entirely customized. The first line
-is the shebang, set by `ESCRIPT_SHEBANG`. The second line is
-a comment, set by `ESCRIPT_COMMENT`. The third line is the
-arguments the VM will use when running the escript, set by
-`ESCRIPT_EMU_ARGS`.
-
-Finally, `ESCRIPT_ZIP` can be set to customize the command used
-to create the zip file. Read on for more information.
-
-=== Extra files
-
-Generating an escript is a two-part process. First, a zip file
-is created with the contents of the escript. Then a header is
-added to this file to create the escript.
-
-It is possible to add commands that will be executed between
-the two steps. You can for example add extra files to the zip
-archive:
-
-[source,make]
-----
-escript-zip::
- $(verbose) $(ESCRIPT_ZIP) $(ESCRIPT_ZIP_FILE) priv/templates/*
-----
-
-The `ESCRIPT_ZIP` variable contains the command to run to add
-files to the zip archive `ESCRIPT_ZIP_FILE`.
-
-=== Optimizing for size
-
-Erlang.mk will by default compile BEAM files with debug
-information. You may want to disable this behavior to obtain
-smaller escript files. Simply set `ERLC_OPTS` to a value that
-does not include `+debug_info`.
diff --git a/docs/en/erlang.mk/1/guide/escripts/index.html b/docs/en/erlang.mk/1/guide/escripts/index.html
deleted file mode 100644
index bacb0248..00000000
--- a/docs/en/erlang.mk/1/guide/escripts/index.html
+++ /dev/null
@@ -1,213 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
-
- <title>Nine Nines: Escripts</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href="/css/99s.css?r=5" rel="stylesheet">
-
- <link rel="shortcut icon" href="/img/ico/favicon.ico">
- <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
- <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
- <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
-
-
-</head>
-
-
-<body class="">
- <header id="page-head">
- <div id="topbar" class="container">
- <div class="row">
- <div class="span2">
- <h1 id="logo"><a href="/" title="99s">99s</a></h1>
- </div>
- <div class="span10">
-
- <div id="side-header">
- <nav>
- <ul>
- <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
- <li><a title="Watch my talks" href="/talks">Talks</a></li>
- <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
- <li><a title="Request my services" href="/services">Consulting & Training</a></li>
- </ul>
- </nav>
- <ul id="social">
- <li>
- <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
- </li>
- <li>
- <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-
-</header>
-
-<div id="contents" class="two_col">
-<div class="container">
-<div class="row">
-<div id="docs" class="span9 maincol">
-
-<h1 class="lined-header"><span>Escripts</span></h1>
-
-<p>Escripts are an alternative to release. They are meant to be used for small command line executables written in Erlang.</p>
-<p>They are not self-contained, unlike <a href="../relx">releases</a>. Erlang must be installed for them to run. This however means that they are fairly small compared to releases.</p>
-<p>For self-contained executables, check <a href="../sfx">self-extracting releases</a>.</p>
-<h2 id="_requirements">Requirements</h2>
-<p>Erlang.mk uses <code>p7zip</code> by default to generate the escript archive. Make sure it is installed. On most systems the package is named <code>p7zip</code>; on Ubuntu you need <code>p7zip-full</code>.</p>
-<p>If <code>p7zip</code> is unavailable, <code>zip</code> may be used by setting the <code>ESCRIPT_ZIP</code> variable. For example:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make escript <font color="#009900">ESCRIPT_ZIP</font><font color="#990000">=</font>zip</tt></pre>
-</div></div>
-<h2 id="_generating_an_escript">Generating an escript</h2>
-<p>Run the following command to generate an escript:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make escript</tt></pre>
-</div></div>
-<p>This will by default create an escript with the same name as the project, in the project&apos;s directory. If the project is called <code>relx</code> then the escript will be in <code>./relx</code>.</p>
-<p>You can run the escript as you would any executable:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ <font color="#990000">.</font>/relx</tt></pre>
-</div></div>
-<h2 id="_configuration">Configuration</h2>
-<p>You can change the name of the escript by setting <code>ESCRIPT_NAME</code>. The name determines both the default output file name and the entry module containing the function <code>main/1</code>.</p>
-<p><code>ESCRIPT_FILE</code> can be set if you need a different file name or location.</p>
-<p>The escript header can be entirely customized. The first line is the shebang, set by <code>ESCRIPT_SHEBANG</code>. The second line is a comment, set by <code>ESCRIPT_COMMENT</code>. The third line is the arguments the VM will use when running the escript, set by <code>ESCRIPT_EMU_ARGS</code>.</p>
-<p>Finally, <code>ESCRIPT_ZIP</code> can be set to customize the command used to create the zip file. Read on for more information.</p>
-<h2 id="_extra_files">Extra files</h2>
-<p>Generating an escript is a two-part process. First, a zip file is created with the contents of the escript. Then a header is added to this file to create the escript.</p>
-<p>It is possible to add commands that will be executed between the two steps. You can for example add extra files to the zip archive:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#990000">escript-zip::</font>
- <font color="#009900">$(verbose)</font> <font color="#009900">$(ESCRIPT_ZIP)</font> <font color="#009900">$(ESCRIPT_ZIP_FILE)</font> priv/templates<font color="#990000">/*</font></tt></pre>
-</div></div>
-<p>The <code>ESCRIPT_ZIP</code> variable contains the command to run to add files to the zip archive <code>ESCRIPT_ZIP_FILE</code>.</p>
-<h2 id="_optimizing_for_size">Optimizing for size</h2>
-<p>Erlang.mk will by default compile BEAM files with debug information. You may want to disable this behavior to obtain smaller escript files. Simply set <code>ERLC_OPTS</code> to a value that does not include <code>+debug_info</code>.</p>
-
-
-
-
-
-
-
-
-
-
-
- <nav style="margin:1em 0">
-
- <a style="float:left" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/sfx/">
- Self-extracting releases
- </a>
-
-
-
- <a style="float:right" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/kerl/">
- OTP version management
- </a>
-
- </nav>
-
-
-
-
-</div>
-
-<div class="span3 sidecol">
-
-
-<h3>
- Erlang.mk
- 1
-
- User Guide
-</h3>
-
-<ul>
-
-
-
-</ul>
-
-<h4 id="docs-nav">Navigation</h4>
-
-<h4>Version select</h4>
-<ul>
-
-
-
- <li><a href="/docs/en/erlang.mk/1/guide">1</a></li>
-
-</ul>
-
-<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
-<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
-<input type="hidden" name="cmd" value="_donations">
-<input type="hidden" name="business" value="[email protected]">
-<input type="hidden" name="lc" value="FR">
-<input type="hidden" name="item_name" value="Loic Hoguin">
-<input type="hidden" name="item_number" value="99s">
-<input type="hidden" name="currency_code" value="EUR">
-<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
-</form><p>Recurring payment options are also available via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to cover the recurring expenses like dedicated servers or domain names.</p>
-
-
-
-</div>
-</div>
-</div>
-</div>
-
- <footer>
- <div class="container">
- <div class="row">
- <div class="span6">
- <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
- <nav>
- <ul>
- <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
- </ul>
- </nav>
- </div>
- <div class="span6 credits">
- <p><img src="/img/footer_logo.png"></p>
- <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
- </div>
- </div>
- </div>
- </footer>
-
-
- <script src="/js/custom.js"></script>
- </body>
-</html>
-
-
diff --git a/docs/en/erlang.mk/1/guide/eunit.asciidoc b/docs/en/erlang.mk/1/guide/eunit.asciidoc
deleted file mode 100644
index 41e26e39..00000000
--- a/docs/en/erlang.mk/1/guide/eunit.asciidoc
+++ /dev/null
@@ -1,122 +0,0 @@
-[[eunit]]
-== EUnit
-
-EUnit is the tool of choice for unit testing. Erlang.mk
-automates a few things on top of EUnit, including the
-discovery and running of unit tests.
-
-=== Writing tests
-
-The http://www.erlang.org/doc/apps/eunit/chapter.html[EUnit user guide]
-is the best place to learn how to write tests. Of note is
-that all functions ending with `_test` or `_test_` will be
-picked up as EUnit test cases.
-
-Erlang.mk will automatically pick up tests found in any of
-the Erlang modules of your application. It will also pick up
-tests located in the '$(TEST_DIR)' directory, which defaults
-to 'test/'.
-
-It is generally a good practice to hide test code from
-the code you ship to production. With Erlang.mk, you can
-do this thanks to the `TEST` macro. It is only defined
-when running tests:
-
-[source,erlang]
-----
--ifdef(TEST).
-
-%% Insert tests here.
-
--endif.
-----
-
-Be careful, however, if you include the EUnit header file,
-as it also defines the `TEST` macro. Make sure to only include
-it inside an `ifdef` block, otherwise tests will always be
-compiled.
-
-[source,erlang]
-----
--ifdef(TEST).
-
--include_lib(\"eunit/include/eunit.hrl\").
-
-%% Insert tests here.
-
--endif.
-----
-
-Erlang.mk will automatically recompile your code when you
-perform a normal build after running tests, and vice versa.
-
-=== Configuration
-
-The `EUNIT_OPTS` variable allows you to specify additional
-EUnit options. Options are documented in the
-http://www.erlang.org/doc/man/eunit.html#test-2[EUnit manual].
-At the time of writing, the only available option is `verbose`:
-
-[source,make]
-EUNIT_OPTS = verbose
-
-The `EUNIT_ERL_OPTS` variable allows you to specify options
-to be passed to `erl` when running EUnit tests. For example,
-you can load the 'vm.args' and 'sys.config' files:
-
-[source,make]
-EUNIT_ERL_OPTS = -args_file config/vm.args -config config/sys.config
-
-=== Usage
-
-To run all tests (including EUnit):
-
-[source,bash]
-$ make tests
-
-To run all tests and static checks (including EUnit):
-
-[source,bash]
-$ make check
-
-You can also run EUnit separately:
-
-[source,bash]
-$ make eunit
-
-EUnit will be quiet by default, only outputting errors.
-You can easily make it verbose for a single invocation:
-
-[source,bash]
-$ make eunit EUNIT_OPTS=verbose
-
-Erlang.mk allows you to run all tests from a specific
-module, or a specific test case from that module, using
-the variable `t`.
-
-For example, to run all tests from the `cow_http_hd`
-module (instead of all tests from the entire project),
-one could write:
-
-[source,bash]
-$ make eunit t=cow_http_hd
-
-Similarly, to run a specific test case:
-
-[source,bash]
-$ make eunit t=cow_http_hd:parse_accept_test_
-
-To do the same against a multi-application repository,
-you can use the `-C` option:
-
-[source,bash]
-$ make -C apps/my_app eunit t=my_module:hello_test
-
-Note that this also applies to dependencies. From Cowboy,
-you can run the following directly:
-
-[source,bash]
-$ make -C deps/cowlib eunit t=cow_http_hd
-
-Finally, xref:coverage[code coverage] is available,
-but covered in its own chapter.
diff --git a/docs/en/erlang.mk/1/guide/eunit/index.html b/docs/en/erlang.mk/1/guide/eunit/index.html
deleted file mode 100644
index 22f8cf63..00000000
--- a/docs/en/erlang.mk/1/guide/eunit/index.html
+++ /dev/null
@@ -1,270 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
-
- <title>Nine Nines: EUnit</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href="/css/99s.css?r=5" rel="stylesheet">
-
- <link rel="shortcut icon" href="/img/ico/favicon.ico">
- <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
- <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
- <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
-
-
-</head>
-
-
-<body class="">
- <header id="page-head">
- <div id="topbar" class="container">
- <div class="row">
- <div class="span2">
- <h1 id="logo"><a href="/" title="99s">99s</a></h1>
- </div>
- <div class="span10">
-
- <div id="side-header">
- <nav>
- <ul>
- <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
- <li><a title="Watch my talks" href="/talks">Talks</a></li>
- <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
- <li><a title="Request my services" href="/services">Consulting & Training</a></li>
- </ul>
- </nav>
- <ul id="social">
- <li>
- <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
- </li>
- <li>
- <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-
-</header>
-
-<div id="contents" class="two_col">
-<div class="container">
-<div class="row">
-<div id="docs" class="span9 maincol">
-
-<h1 class="lined-header"><span>EUnit</span></h1>
-
-<p>EUnit is the tool of choice for unit testing. Erlang.mk automates a few things on top of EUnit, including the discovery and running of unit tests.</p>
-<h2 id="_writing_tests">Writing tests</h2>
-<p>The <a href="http://www.erlang.org/doc/apps/eunit/chapter.html">EUnit user guide</a> is the best place to learn how to write tests. Of note is that all functions ending with <code>_test</code> or <code>_test_</code> will be picked up as EUnit test cases.</p>
-<p>Erlang.mk will automatically pick up tests found in any of the Erlang modules of your application. It will also pick up tests located in the <em>$(TEST_DIR)</em> directory, which defaults to <em>test/</em>.</p>
-<p>It is generally a good practice to hide test code from the code you ship to production. With Erlang.mk, you can do this thanks to the <code>TEST</code> macro. It is only defined when running tests:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><b><font color="#000080">-ifdef</font></b>(<font color="#009900">TEST</font>)<font color="#990000">.</font>
-
-<i><font color="#9A1900">%% Insert tests here.</font></i>
-
-<b><font color="#000080">-endif</font></b><font color="#990000">.</font></tt></pre>
-</div></div>
-<p>Be careful, however, if you include the EUnit header file, as it also defines the <code>TEST</code> macro. Make sure to only include it inside an <code>ifdef</code> block, otherwise tests will always be compiled.</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><b><font color="#000080">-ifdef</font></b>(<font color="#009900">TEST</font>)<font color="#990000">.</font>
-
-<b><font color="#000080">-include_lib</font></b>(<font color="#990000">\</font><font color="#FF0000">"eunit/include/eunit.hrl\").</font>
-
-<font color="#FF0000">%% Insert tests here.</font>
-
-<font color="#FF0000">-endif.</font></tt></pre>
-</div></div>
-<p>Erlang.mk will automatically recompile your code when you perform a normal build after running tests, and vice versa.</p>
-<h2 id="_configuration">Configuration</h2>
-<p>The <code>EUNIT_OPTS</code> variable allows you to specify additional EUnit options. Options are documented in the <a href="http://www.erlang.org/doc/man/eunit.html#test-2">EUnit manual</a>. At the time of writing, the only available option is <code>verbose</code>:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">EUNIT_OPTS =</font> verbose</tt></pre>
-</div></div>
-<p>The <code>EUNIT_ERL_OPTS</code> variable allows you to specify options to be passed to <code>erl</code> when running EUnit tests. For example, you can load the <em>vm.args</em> and <em>sys.config</em> files:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">EUNIT_ERL_OPTS =</font> -args_file config/vm.args -config config/sys.config</tt></pre>
-</div></div>
-<h2 id="_usage">Usage</h2>
-<p>To run all tests (including EUnit):</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make tests</tt></pre>
-</div></div>
-<p>To run all tests and static checks (including EUnit):</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make check</tt></pre>
-</div></div>
-<p>You can also run EUnit separately:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make eunit</tt></pre>
-</div></div>
-<p>EUnit will be quiet by default, only outputting errors. You can easily make it verbose for a single invocation:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make eunit <font color="#009900">EUNIT_OPTS</font><font color="#990000">=</font>verbose</tt></pre>
-</div></div>
-<p>Erlang.mk allows you to run all tests from a specific module, or a specific test case from that module, using the variable <code>t</code>.</p>
-<p>For example, to run all tests from the <code>cow_http_hd</code> module (instead of all tests from the entire project), one could write:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make eunit <font color="#009900">t</font><font color="#990000">=</font>cow_http_hd</tt></pre>
-</div></div>
-<p>Similarly, to run a specific test case:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make eunit <font color="#009900">t</font><font color="#990000">=</font>cow_http_hd<font color="#990000">:</font>parse_accept_test_</tt></pre>
-</div></div>
-<p>To do the same against a multi-application repository, you can use the <code>-C</code> option:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make -C apps/my_app eunit <font color="#009900">t</font><font color="#990000">=</font>my_module<font color="#990000">:</font>hello_test</tt></pre>
-</div></div>
-<p>Note that this also applies to dependencies. From Cowboy, you can run the following directly:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make -C deps/cowlib eunit <font color="#009900">t</font><font color="#990000">=</font>cow_http_hd</tt></pre>
-</div></div>
-<p>Finally, <a href="../coverage">code coverage</a> is available, but covered in its own chapter.</p>
-
-
-
-
-
-
-
-
-
-
-
- <nav style="margin:1em 0">
-
- <a style="float:left" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/shell/">
- Erlang shell
- </a>
-
-
-
- <a style="float:right" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/common_test/">
- Common Test
- </a>
-
- </nav>
-
-
-
-
-</div>
-
-<div class="span3 sidecol">
-
-
-<h3>
- Erlang.mk
- 1
-
- User Guide
-</h3>
-
-<ul>
-
-
-
-</ul>
-
-<h4 id="docs-nav">Navigation</h4>
-
-<h4>Version select</h4>
-<ul>
-
-
-
- <li><a href="/docs/en/erlang.mk/1/guide">1</a></li>
-
-</ul>
-
-<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
-<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
-<input type="hidden" name="cmd" value="_donations">
-<input type="hidden" name="business" value="[email protected]">
-<input type="hidden" name="lc" value="FR">
-<input type="hidden" name="item_name" value="Loic Hoguin">
-<input type="hidden" name="item_number" value="99s">
-<input type="hidden" name="currency_code" value="EUR">
-<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
-</form><p>Recurring payment options are also available via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to cover the recurring expenses like dedicated servers or domain names.</p>
-
-
-
-</div>
-</div>
-</div>
-</div>
-
- <footer>
- <div class="container">
- <div class="row">
- <div class="span6">
- <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
- <nav>
- <ul>
- <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
- </ul>
- </nav>
- </div>
- <div class="span6 credits">
- <p><img src="/img/footer_logo.png"></p>
- <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
- </div>
- </div>
- </div>
- </footer>
-
-
- <script src="/js/custom.js"></script>
- </body>
-</html>
-
-
diff --git a/docs/en/erlang.mk/1/guide/external_plugins.asciidoc b/docs/en/erlang.mk/1/guide/external_plugins.asciidoc
deleted file mode 100644
index 5f165f50..00000000
--- a/docs/en/erlang.mk/1/guide/external_plugins.asciidoc
+++ /dev/null
@@ -1,140 +0,0 @@
-[[plugins_usage]]
-== External plugins
-
-It is often convenient to be able to keep the build files
-used by all your projects in one place. Those files could
-be Makefiles, configuration files, templates and more.
-
-Erlang.mk allows you to automatically load plugins from
-dependencies. Plugins can do anything, including defining
-new variables, defining file templates, hooking themselves
-inside the normal Erlang.mk processing or even adding new
-rules.
-
-You can load plugins using one of two methods. You can
-either load all plugins from a dependency, or just one.
-We will also cover conventions about writing external
-plugins.
-
-=== Loading all plugins from a dependency
-
-To load plugins from a dependency, all you need to do is add
-the dependency name to `DEP_PLUGINS` in addition to the list
-of dependencies.
-
-For example, if you have `cowboy` in `DEPS`, add `cowboy` in
-`DEP_PLUGINS` also:
-
-[source,make]
-DEPS = cowboy
-DEP_PLUGINS = cowboy
-
-This will load the file 'plugins.mk' in the root folder of
-the Cowboy repository.
-
-=== Loading one plugin from a dependency
-
-Now that we know how to load all plugins, let's take a look
-at how to load one specific plugin from a dependency.
-
-To do this, instead of writing only the name of the dependency,
-we will write its name and the path to the plugin file. This
-means that writing `DEP_PLUGINS = cowboy` is equivalent to
-writing `DEP_PLUGINS = cowboy/plugins.mk`.
-
-Knowing this, if we were to load the plugin 'mk/dist.mk'
-from Cowboy and no other, we would write the following in
-our Makefile:
-
-[source,make]
-DEPS = cowboy
-DEP_PLUGINS = cowboy/mk/dist.mk
-
-=== Writing external plugins
-
-The 'plugins.mk' file is a convention. It is meant to load
-all the plugins from the dependency. The code for the plugin
-can be written directly in 'plugins.mk' or be separate.
-
-If you are providing more than one plugin with your repository,
-the recommended way is to create one file per plugin in the
-'mk/' folder in your repository, and then include those
-individual plugins in 'plugins.mk'.
-
-For example, if you have two plugins 'mk/dist.mk' and
-'mk/templates.mk', you could write the following 'plugins.mk'
-file:
-
-[source,make]
-THIS := $(dir $(realpath $(lastword $(MAKEFILE_LIST))))
-include $(THIS)/mk/dist.mk
-include $(THIS)/mk/templates.mk
-
-The `THIS` variable is required to relatively include files.
-
-This allows users to not only be able to select individual
-plugins, but also select all plugins from the dependency
-in one go if they wish to do so.
-
-Plugins can include some help text by extending the target
-`help-plugins`:
-
-[source,make]
-----
-help-plugins::
- $(verbose) printf "%s\n" "" "Run benchmark: $(MAKE) perfs"
-----
-
-=== Early-stage plugins
-
-Plugins declared in `DEP_PLUGINS` are loaded near the end of Erlang.mk.
-That's why you have access to all previously initialized variables.
-However, if you want your plugin to add common dependencies to
-your applications, a regular is loaded too late in the process.
-You need to use "Early-stage plugins". They are declared using the
-`DEP_EARLY_PLUGINS` variable instead. Plugins listed in this variable
-are loaded near the beginning of Erlang.mk Otherwise, they work exactly
-the same.
-
-If you only give the name of a dependency, the default file loaded is
-'early-plugins.mk'. You can specify a filename exactly like you would
-have done it with regular plugins.
-
-[source,make]
-# In your application's Makefile
-BUILD_DEPS = common_deps
-DEP_EARLY_PLUGINS = common_deps
-
-[source,make]
-# In the plugin's early-plugins.mk
-DEPS += cowboy
-TEST_DEPS = ct_helper
-dep_ct_helper = git https://github.com/ninenines/ct_helper master
-
-=== Loading plugins local to the application
-
-If the Erlang.mk plugin lives in the same directory or repository as your
-application or library, then you can load it exactly like an external
-plugin: the dependency name is simply the name of your application or
-library.
-
-For example, the following Makefile loads a plugin in the 'mk'
-subdirectory:
-
-[source,make]
-DEP_PLUGINS = $(PROJECT)/mk/dist.mk
-
-This also works with early-stage plugins:
-
-[source,make]
-DEP_EARLY_PLUGINS = $(PROJECT)/mk/variables.mk
-
-Like external plugins, if you do not specify the path to the plugin, it
-defaults to 'plugins.mk' or 'early-plugins.mk', located at the root of
-your application:
-
-[source,make]
-# Loads ./early-plugins.mk
-DEP_EARLY_PLUGINS = $(PROJECT)
-# Loads ./plugins.mk
-DEP_PLUGINS = $(PROJECT)
diff --git a/docs/en/erlang.mk/1/guide/external_plugins/index.html b/docs/en/erlang.mk/1/guide/external_plugins/index.html
deleted file mode 100644
index aa8241a6..00000000
--- a/docs/en/erlang.mk/1/guide/external_plugins/index.html
+++ /dev/null
@@ -1,260 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
-
- <title>Nine Nines: External plugins</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href="/css/99s.css?r=5" rel="stylesheet">
-
- <link rel="shortcut icon" href="/img/ico/favicon.ico">
- <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
- <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
- <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
-
-
-</head>
-
-
-<body class="">
- <header id="page-head">
- <div id="topbar" class="container">
- <div class="row">
- <div class="span2">
- <h1 id="logo"><a href="/" title="99s">99s</a></h1>
- </div>
- <div class="span10">
-
- <div id="side-header">
- <nav>
- <ul>
- <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
- <li><a title="Watch my talks" href="/talks">Talks</a></li>
- <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
- <li><a title="Request my services" href="/services">Consulting & Training</a></li>
- </ul>
- </nav>
- <ul id="social">
- <li>
- <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
- </li>
- <li>
- <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-
-</header>
-
-<div id="contents" class="two_col">
-<div class="container">
-<div class="row">
-<div id="docs" class="span9 maincol">
-
-<h1 class="lined-header"><span>External plugins</span></h1>
-
-<p>It is often convenient to be able to keep the build files used by all your projects in one place. Those files could be Makefiles, configuration files, templates and more.</p>
-<p>Erlang.mk allows you to automatically load plugins from dependencies. Plugins can do anything, including defining new variables, defining file templates, hooking themselves inside the normal Erlang.mk processing or even adding new rules.</p>
-<p>You can load plugins using one of two methods. You can either load all plugins from a dependency, or just one. We will also cover conventions about writing external plugins.</p>
-<h2 id="_loading_all_plugins_from_a_dependency">Loading all plugins from a dependency</h2>
-<p>To load plugins from a dependency, all you need to do is add the dependency name to <code>DEP_PLUGINS</code> in addition to the list of dependencies.</p>
-<p>For example, if you have <code>cowboy</code> in <code>DEPS</code>, add <code>cowboy</code> in <code>DEP_PLUGINS</code> also:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">DEPS =</font> cowboy
-<font color="#009900">DEP_PLUGINS =</font> cowboy</tt></pre>
-</div></div>
-<p>This will load the file <em>plugins.mk</em> in the root folder of the Cowboy repository.</p>
-<h2 id="_loading_one_plugin_from_a_dependency">Loading one plugin from a dependency</h2>
-<p>Now that we know how to load all plugins, let&apos;s take a look at how to load one specific plugin from a dependency.</p>
-<p>To do this, instead of writing only the name of the dependency, we will write its name and the path to the plugin file. This means that writing <code>DEP_PLUGINS = cowboy</code> is equivalent to writing <code>DEP_PLUGINS = cowboy/plugins.mk</code>.</p>
-<p>Knowing this, if we were to load the plugin <em>mk/dist.mk</em> from Cowboy and no other, we would write the following in our Makefile:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">DEPS =</font> cowboy
-<font color="#009900">DEP_PLUGINS =</font> cowboy/mk/dist.mk</tt></pre>
-</div></div>
-<h2 id="_writing_external_plugins">Writing external plugins</h2>
-<p>The <em>plugins.mk</em> file is a convention. It is meant to load all the plugins from the dependency. The code for the plugin can be written directly in <em>plugins.mk</em> or be separate.</p>
-<p>If you are providing more than one plugin with your repository, the recommended way is to create one file per plugin in the <em>mk/</em> folder in your repository, and then include those individual plugins in <em>plugins.mk</em>.</p>
-<p>For example, if you have two plugins <em>mk/dist.mk</em> and <em>mk/templates.mk</em>, you could write the following <em>plugins.mk</em> file:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#990000">THIS :=</font> <font color="#009900">$(</font>dir <font color="#009900">$(</font>realpath <font color="#009900">$(</font>lastword <font color="#009900">$(MAKEFILE_LIST))))</font>
-include <font color="#009900">$(THIS)</font>/mk/dist.mk
-include <font color="#009900">$(THIS)</font>/mk/templates.mk</tt></pre>
-</div></div>
-<p>The <code>THIS</code> variable is required to relatively include files.</p>
-<p>This allows users to not only be able to select individual plugins, but also select all plugins from the dependency in one go if they wish to do so.</p>
-<p>Plugins can include some help text by extending the target <code>help-plugins</code>:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#990000">help-plugins::</font>
- <font color="#009900">$(verbose)</font> <b><font color="#0000FF">printf</font></b> <font color="#FF0000">"%s</font><font color="#CC33CC">\n</font><font color="#FF0000">"</font> <font color="#FF0000">""</font> <font color="#FF0000">"Run benchmark: $(MAKE) perfs"</font></tt></pre>
-</div></div>
-<h2 id="_early_stage_plugins">Early-stage plugins</h2>
-<p>Plugins declared in <code>DEP_PLUGINS</code> are loaded near the end of Erlang.mk. That&apos;s why you have access to all previously initialized variables. However, if you want your plugin to add common dependencies to your applications, a regular is loaded too late in the process. You need to use &quot;Early-stage plugins&quot;. They are declared using the <code>DEP_EARLY_PLUGINS</code> variable instead. Plugins listed in this variable are loaded near the beginning of Erlang.mk Otherwise, they work exactly the same.</p>
-<p>If you only give the name of a dependency, the default file loaded is <em>early-plugins.mk</em>. You can specify a filename exactly like you would have done it with regular plugins.</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><i><font color="#9A1900"># In your application's Makefile</font></i>
-<font color="#009900">BUILD_DEPS =</font> common_deps
-<font color="#009900">DEP_EARLY_PLUGINS =</font> common_deps</tt></pre>
-</div></div>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><i><font color="#9A1900"># In the plugin's early-plugins.mk</font></i>
-DEPS <font color="#990000">+=</font> cowboy
-<font color="#009900">TEST_DEPS =</font> ct_helper
-<font color="#009900">dep_ct_helper =</font> git https<font color="#990000">:</font>//github.com/ninenines/ct_helper master</tt></pre>
-</div></div>
-<h2 id="_loading__plugins_local_to_the_application">Loading plugins local to the application</h2>
-<p>If the Erlang.mk plugin lives in the same directory or repository as your application or library, then you can load it exactly like an external plugin: the dependency name is simply the name of your application or library.</p>
-<p>For example, the following Makefile loads a plugin in the <em>mk</em> subdirectory:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">DEP_PLUGINS =</font> <font color="#009900">$(PROJECT)</font>/mk/dist.mk</tt></pre>
-</div></div>
-<p>This also works with early-stage plugins:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">DEP_EARLY_PLUGINS =</font> <font color="#009900">$(PROJECT)</font>/mk/variables.mk</tt></pre>
-</div></div>
-<p>Like external plugins, if you do not specify the path to the plugin, it defaults to <em>plugins.mk</em> or <em>early-plugins.mk</em>, located at the root of your application:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><i><font color="#9A1900"># Loads ./early-plugins.mk</font></i>
-<font color="#009900">DEP_EARLY_PLUGINS =</font> <font color="#009900">$(PROJECT)</font>
-<i><font color="#9A1900"># Loads ./plugins.mk</font></i>
-<font color="#009900">DEP_PLUGINS =</font> <font color="#009900">$(PROJECT)</font></tt></pre>
-</div></div>
-
-
-
-
-
-
-
-
-
-
-
- <nav style="margin:1em 0">
-
- <a style="float:left" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/xref/">
- Xref
- </a>
-
-
-
- <a style="float:right" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/external_plugins_list/">
- List of plugins
- </a>
-
- </nav>
-
-
-
-
-</div>
-
-<div class="span3 sidecol">
-
-
-<h3>
- Erlang.mk
- 1
-
- User Guide
-</h3>
-
-<ul>
-
-
-
-</ul>
-
-<h4 id="docs-nav">Navigation</h4>
-
-<h4>Version select</h4>
-<ul>
-
-
-
- <li><a href="/docs/en/erlang.mk/1/guide">1</a></li>
-
-</ul>
-
-<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
-<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
-<input type="hidden" name="cmd" value="_donations">
-<input type="hidden" name="business" value="[email protected]">
-<input type="hidden" name="lc" value="FR">
-<input type="hidden" name="item_name" value="Loic Hoguin">
-<input type="hidden" name="item_number" value="99s">
-<input type="hidden" name="currency_code" value="EUR">
-<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
-</form><p>Recurring payment options are also available via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to cover the recurring expenses like dedicated servers or domain names.</p>
-
-
-
-</div>
-</div>
-</div>
-</div>
-
- <footer>
- <div class="container">
- <div class="row">
- <div class="span6">
- <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
- <nav>
- <ul>
- <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
- </ul>
- </nav>
- </div>
- <div class="span6 credits">
- <p><img src="/img/footer_logo.png"></p>
- <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
- </div>
- </div>
- </div>
- </footer>
-
-
- <script src="/js/custom.js"></script>
- </body>
-</html>
-
-
diff --git a/docs/en/erlang.mk/1/guide/external_plugins_list.asciidoc b/docs/en/erlang.mk/1/guide/external_plugins_list.asciidoc
deleted file mode 100644
index dc5a9c6d..00000000
--- a/docs/en/erlang.mk/1/guide/external_plugins_list.asciidoc
+++ /dev/null
@@ -1,72 +0,0 @@
-[[plugins_list]]
-== List of plugins
-
-This is a non-exhaustive list of Erlang.mk plugins, sorted
-alphabetically.
-
-=== ci.erlang.mk
-
-A https://github.com/ninenines/ci.erlang.mk[plugin] that keeps
-track of released OTP versions to always run CI builds on the
-most recent patch(es).
-
-=== efene.mk
-
-An https://github.com/ninenines/efene.mk[Efene plugin] for Erlang.mk.
-http://efene.org/[Efene] is an alternative language for the BEAM.
-
-=== elixir.mk
-
-An https://github.com/botsunit/elixir.mk[Elixir plugin] for
-Erlang.mk. http://elixir-lang.org/[Elixir] is an alternative
-language for the BEAM.
-
-=== elvis.mk
-
-An https://github.com/inaka/elvis.mk[Elvis plugin] for Erlang.mk.
-Elvis is an https://github.com/inaka/elvis[Erlang style reviewer].
-
-=== geas
-
-https://github.com/crownedgrouse/geas[Geas] gives aggregated
-information on a project and its dependencies, and is available
-as an Erlang.mk plugin.
-
-=== hexer.mk
-
-An https://github.com/inaka/hexer.mk[Hex plugin] for Erlang.mk
-using the `hexer` tool.
-
-=== hexpm.mk
-
-Another https://github.com/botsunit/hexpm.mk[Hex plugin] for
-Erlang.mk, with support for Hex dependency operators.
-
-=== jorel
-
-https://github.com/emedia-project/jorel[Jorel] is Just anOther RELease
-assembler for Erlang/OTP, and is available as an Erlang.mk plugin.
-
-=== lfe.mk
-
-An https://github.com/ninenines/lfe.mk[LFE plugin] for Erlang.mk.
-LFE, or http://lfe.io/[Lisp Flavoured Erlang], is an alternative
-language for the BEAM.
-
-=== mix.mk
-
-A https://github.com/botsunit/mix.mk[Mix plugin] for Erlang.mk,
-to generate a compatible configuration file for
-http://elixir-lang.org/getting-started/mix-otp/introduction-to-mix.html[Mix].
-
-=== reload.mk
-
-A https://github.com/bullno1/reload.mk[live reload plugin] for Erlang.mk.
-
-=== rust.mk
-
-A https://github.com/goertzenator/rust.mk[plugin] to build https://www.rust-lang.org/[Rust] crates and install binaries into `priv/`.
-
-=== version.mk
-
-A https://github.com/manifest/version.mk[plugin] to apply a semantic version automatically to Erlang.mk projects.
diff --git a/docs/en/erlang.mk/1/guide/external_plugins_list/index.html b/docs/en/erlang.mk/1/guide/external_plugins_list/index.html
deleted file mode 100644
index 0dd5151e..00000000
--- a/docs/en/erlang.mk/1/guide/external_plugins_list/index.html
+++ /dev/null
@@ -1,194 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
-
- <title>Nine Nines: List of plugins</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href="/css/99s.css?r=5" rel="stylesheet">
-
- <link rel="shortcut icon" href="/img/ico/favicon.ico">
- <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
- <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
- <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
-
-
-</head>
-
-
-<body class="">
- <header id="page-head">
- <div id="topbar" class="container">
- <div class="row">
- <div class="span2">
- <h1 id="logo"><a href="/" title="99s">99s</a></h1>
- </div>
- <div class="span10">
-
- <div id="side-header">
- <nav>
- <ul>
- <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
- <li><a title="Watch my talks" href="/talks">Talks</a></li>
- <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
- <li><a title="Request my services" href="/services">Consulting & Training</a></li>
- </ul>
- </nav>
- <ul id="social">
- <li>
- <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
- </li>
- <li>
- <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-
-</header>
-
-<div id="contents" class="two_col">
-<div class="container">
-<div class="row">
-<div id="docs" class="span9 maincol">
-
-<h1 class="lined-header"><span>List of plugins</span></h1>
-
-<p>This is a non-exhaustive list of Erlang.mk plugins, sorted alphabetically.</p>
-<h2 id="_ci_erlang_mk">ci.erlang.mk</h2>
-<p>A <a href="https://github.com/ninenines/ci.erlang.mk">plugin</a> that keeps track of released OTP versions to always run CI builds on the most recent patch(es).</p>
-<h2 id="_efene_mk">efene.mk</h2>
-<p>An <a href="https://github.com/ninenines/efene.mk">Efene plugin</a> for Erlang.mk. <a href="http://efene.org/">Efene</a> is an alternative language for the BEAM.</p>
-<h2 id="_elixir_mk">elixir.mk</h2>
-<p>An <a href="https://github.com/botsunit/elixir.mk">Elixir plugin</a> for Erlang.mk. <a href="http://elixir-lang.org/">Elixir</a> is an alternative language for the BEAM.</p>
-<h2 id="_elvis_mk">elvis.mk</h2>
-<p>An <a href="https://github.com/inaka/elvis.mk">Elvis plugin</a> for Erlang.mk. Elvis is an <a href="https://github.com/inaka/elvis">Erlang style reviewer</a>.</p>
-<h2 id="_geas">geas</h2>
-<p><a href="https://github.com/crownedgrouse/geas">Geas</a> gives aggregated information on a project and its dependencies, and is available as an Erlang.mk plugin.</p>
-<h2 id="_hexer_mk">hexer.mk</h2>
-<p>An <a href="https://github.com/inaka/hexer.mk">Hex plugin</a> for Erlang.mk using the <code>hexer</code> tool.</p>
-<h2 id="_hexpm_mk">hexpm.mk</h2>
-<p>Another <a href="https://github.com/botsunit/hexpm.mk">Hex plugin</a> for Erlang.mk, with support for Hex dependency operators.</p>
-<h2 id="_jorel">jorel</h2>
-<p><a href="https://github.com/emedia-project/jorel">Jorel</a> is Just anOther RELease assembler for Erlang/OTP, and is available as an Erlang.mk plugin.</p>
-<h2 id="_lfe_mk">lfe.mk</h2>
-<p>An <a href="https://github.com/ninenines/lfe.mk">LFE plugin</a> for Erlang.mk. LFE, or <a href="http://lfe.io/">Lisp Flavoured Erlang</a>, is an alternative language for the BEAM.</p>
-<h2 id="_mix_mk">mix.mk</h2>
-<p>A <a href="https://github.com/botsunit/mix.mk">Mix plugin</a> for Erlang.mk, to generate a compatible configuration file for <a href="http://elixir-lang.org/getting-started/mix-otp/introduction-to-mix.html">Mix</a>.</p>
-<h2 id="_reload_mk">reload.mk</h2>
-<p>A <a href="https://github.com/bullno1/reload.mk">live reload plugin</a> for Erlang.mk.</p>
-<h2 id="_rust_mk">rust.mk</h2>
-<p>A <a href="https://github.com/goertzenator/rust.mk">plugin</a> to build <a href="https://www.rust-lang.org/">Rust</a> crates and install binaries into <code>priv/</code>.</p>
-<h2 id="_version_mk">version.mk</h2>
-<p>A <a href="https://github.com/manifest/version.mk">plugin</a> to apply a semantic version automatically to Erlang.mk projects.</p>
-
-
-
-
-
-
-
-
-
-
-
- <nav style="margin:1em 0">
-
- <a style="float:left" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/external_plugins/">
- External plugins
- </a>
-
-
-
- <a style="float:right" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/why/">
- Why Erlang.mk
- </a>
-
- </nav>
-
-
-
-
-</div>
-
-<div class="span3 sidecol">
-
-
-<h3>
- Erlang.mk
- 1
-
- User Guide
-</h3>
-
-<ul>
-
-
-
-</ul>
-
-<h4 id="docs-nav">Navigation</h4>
-
-<h4>Version select</h4>
-<ul>
-
-
-
- <li><a href="/docs/en/erlang.mk/1/guide">1</a></li>
-
-</ul>
-
-<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
-<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
-<input type="hidden" name="cmd" value="_donations">
-<input type="hidden" name="business" value="[email protected]">
-<input type="hidden" name="lc" value="FR">
-<input type="hidden" name="item_name" value="Loic Hoguin">
-<input type="hidden" name="item_number" value="99s">
-<input type="hidden" name="currency_code" value="EUR">
-<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
-</form><p>Recurring payment options are also available via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to cover the recurring expenses like dedicated servers or domain names.</p>
-
-
-
-</div>
-</div>
-</div>
-</div>
-
- <footer>
- <div class="container">
- <div class="row">
- <div class="span6">
- <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
- <nav>
- <ul>
- <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
- </ul>
- </nav>
- </div>
- <div class="span6 credits">
- <p><img src="/img/footer_logo.png"></p>
- <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
- </div>
- </div>
- </div>
- </footer>
-
-
- <script src="/js/custom.js"></script>
- </body>
-</html>
-
-
diff --git a/docs/en/erlang.mk/1/guide/getting_started.asciidoc b/docs/en/erlang.mk/1/guide/getting_started.asciidoc
deleted file mode 100644
index de40f364..00000000
--- a/docs/en/erlang.mk/1/guide/getting_started.asciidoc
+++ /dev/null
@@ -1,326 +0,0 @@
-[[getting_started]]
-== Getting started
-
-This chapter explains how to get started using Erlang.mk.
-
-=== Creating a folder for your project
-
-The first step is always to create a new folder that will
-contain your project.
-
-[source,bash]
-$ mkdir hello_joe
-$ cd hello_joe
-
-Most people tend to put all their projects side by side in
-a common folder. We recommend keeping an organization similar
-to your remote repositories. For example, for GitHub users,
-put all your projects in a common folder with the same name
-as your username. For example '$HOME/ninenines/cowboy' for
-the Cowboy project.
-
-=== Downloading Erlang.mk
-
-At the time of writing, Erlang.mk is unlikely to be present
-in your Erlang distribution, or even in your OS packages.
-
-The next step is therefore to download it:
-
-[source,bash]
-$ wget https://erlang.mk/erlang.mk
-
-Or:
-
-[source,bash]
-$ curl -O https://erlang.mk/erlang.mk
-
-Alternatively, just https://erlang.mk/erlang.mk[click on this link].
-
-Make sure you put the file inside the folder we created previously.
-
-=== Getting started with OTP applications
-
-An OTP application is an Erlang application that has a supervision
-tree. In other words, it will always have processes running.
-
-This kind of project can be automatically generated by Erlang.mk.
-All you need to do is use the `bootstrap` target:
-
-[source,bash]
-$ make -f erlang.mk bootstrap
-
-Something similar to the following snippet will then appear
-on your screen:
-
-[source,bash]
-----
-git clone https://github.com/ninenines/erlang.mk .erlang.mk.build
-Cloning into '.erlang.mk.build'...
-remote: Counting objects: 4035, done.
-remote: Compressing objects: 100% (12/12), done.
-remote: Total 4035 (delta 8), reused 4 (delta 4), pack-reused 4019
-Receiving objects: 100% (4035/4035), 1.10 MiB | 784.00 KiB/s, done.
-Resolving deltas: 100% (2442/2442), done.
-Checking connectivity... done.
-if [ -f build.config ]; then cp build.config .erlang.mk.build; fi
-cd .erlang.mk.build && make
-make[1]: Entering directory '/home/essen/tmp/hello_joe/.erlang.mk.build'
-awk 'FNR==1 && NR!=1{print ""}1' core/core.mk index/*.mk core/index.mk core/deps.mk plugins/protobuffs.mk core/erlc.mk core/docs.mk core/test.mk plugins/asciidoc.mk plugins/bootstrap.mk plugins/c_src.mk plugins/ci.mk plugins/ct.mk plugins/dialyzer.mk plugins/edoc.mk plugins/elvis.mk plugins/erlydtl.mk plugins/escript.mk plugins/eunit.mk plugins/relx.mk plugins/shell.mk plugins/triq.mk plugins/xref.mk plugins/cover.mk \
- | sed 's/^ERLANG_MK_VERSION = .*/ERLANG_MK_VERSION = 1.2.0-642-gccd2b9f/' > erlang.mk
-make[1]: Leaving directory '/home/essen/tmp/hello_joe/.erlang.mk.build'
-cp .erlang.mk.build/erlang.mk ./erlang.mk
-rm -rf .erlang.mk.build
-----
-
-This is Erlang.mk bootstrapping itself. Indeed, the file you
-initially downloaded contains nothing more than the code needed
-to bootstrap. This operation is done only once. Consult the
-xref:updating[Updating Erlang.mk] chapter for more
-information.
-
-Of course, the generated project can now be compiled:
-
-[source,bash]
-$ make
-
-Cheers!
-
-=== Getting started with OTP libraries
-
-An OTP library is an Erlang application that has no supervision
-tree. In other words, it is nothing but modules.
-
-This kind of project can also be generated by Erlang.mk, using
-the `bootstrap-lib` target:
-
-[source,bash]
-$ make -f erlang.mk bootstrap-lib
-
-Erlang.mk will once again bootstrap itself and generate all
-the files for your project. You can now compile it:
-
-[source,bash]
-$ make
-
-Enjoy!
-
-=== Getting started with OTP releases
-
-An OTP release is the combination of the Erlang RunTime System (ERTS)
-along with all the libraries and files that your node will need
-to run. It is entirely self contained, and can often be sent as-is
-to your production system and run without any extra setup.
-
-Erlang.mk can of course bootstrap your project to generate releases.
-You can use the `bootstrap-rel` target for this purpose:
-
-[source,bash]
-$ make bootstrap-rel
-
-This target can be combined with `bootstrap` or `bootstrap-lib` to
-create a project that will build a release:
-
-[source,bash]
-$ make -f erlang.mk bootstrap-lib bootstrap-rel
-
-It is often very useful to keep the top-level project for
-commands useful during operations, and put the components
-of the system in separate applications that you will then
-depend on. Consult the xref:deps[Packages and dependencies]
-chapter for more information.
-
-When you run `make` from now on, Erlang.mk will compile your
-project and build the release:
-
-[source,bash]
-$ make
- APP hello_joe.app.src
- GEN distclean-relx-rel
- GEN /home/essen/tmp/hello_joe/relx
-===> Starting relx build process ...
-===> Resolving OTP Applications from directories:
- /home/essen/tmp/hello_joe/ebin
- /usr/lib/erlang/lib
- /home/essen/tmp/hello_joe/deps
-===> Resolved hello_joe_release-1
-===> Including Erts from /usr/lib/erlang
-===> release successfully created!
-
-The first time you run this command, Erlang.mk will download
-_relx_, the release building tool. So don't worry if you see
-more output than above.
-
-If building the release is slow, no need to upgrade your
-hardware just yet. Just consult the xref:relx[Releases]
-chapter for various tips to speed up build time during
-development.
-
-You can start the release using the './_rel/hello_joe_release/bin/hello_joe_release'
-script, or simply run `make run`. The latter will also compile
-your project and build the release if it wasn't already:
-
-[source,bash]
-----
-$ make run
- APP hello_joe.app.src
- GEN distclean-relx-rel
-===> Starting relx build process ...
-===> Resolving OTP Applications from directories:
- /home/essen/tmp/hello_joe/ebin
- /usr/lib/erlang/lib
- /home/essen/tmp/hello_joe/deps
-===> Resolved hello_joe_release-1
-===> Including Erts from /usr/lib/erlang
-===> release successfully created!
-Exec: /home/essen/tmp/hello_joe/_rel/hello_joe_release/erts-7.0/bin/erlexec -boot /home/essen/tmp/hello_joe/_rel/hello_joe_release/releases/1/hello_joe_release -boot_var ERTS_LIB_DIR /home/essen/tmp/hello_joe/_rel/hello_joe_release/erts-7.0/../lib -env ERL_LIBS /home/essen/tmp/hello_joe/_rel/hello_joe_release/releases/1/lib -config /home/essen/tmp/hello_joe/_rel/hello_joe_release/releases/1/sys.config -args_file /home/essen/tmp/hello_joe/_rel/hello_joe_release/releases/1/vm.args -- console
-Root: /home/essen/tmp/hello_joe/_rel/hello_joe_release
-/home/essen/tmp/hello_joe/_rel/hello_joe_release
-heart_beat_kill_pid = 16389
-Erlang/OTP 18 [erts-7.0] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]
-
-Eshell V7.0 (abort with ^G)
-----
-
-Simple as that!
-
-=== Getting started from scratch
-
-If you already have an application, or you want to have full
-control over what files will be created, you can setup Erlang.mk
-manually.
-
-Erlang.mk is very easy to setup: all that you need to do is to
-create a folder, put Erlang.mk in it, and write a one line
-Makefile containing:
-
-[source,make]
-include erlang.mk
-
-For a step by step:
-
-[source,bash]
-----
-$ mkdir hello_joe
-$ cd hello_joe
-$ curl https://erlang.mk/erlang.mk -o erlang.mk
-$ echo "include erlang.mk" > Makefile
-$ make
-----
-
-From that point onward you can create an `src/` folder or start
-using templates.
-
-=== Using spaces instead of tabs
-
-Erlang.mk defaults to tabs when creating files from templates.
-This is in part because of a personal preference, and in part
-because it is much easier to convert tabs to spaces than the
-opposite.
-
-Use the `SP` variable if you prefer spaces. Set it to the number
-of spaces per indentation level you want.
-
-For example, if you prefer two spaces per indentation level:
-
-[source,bash]
-$ make -f erlang.mk bootstrap SP=2
-
-When you bootstrap the project initially, the variable automatically
-gets added to the Makefile, so you only need to provide it when
-you get started.
-
-=== Using templates
-
-It is no secret that Erlang's OTP behaviors tend to have some
-boilerplate. It is rarely an issue of course, except when
-creating new modules. That's why Erlang.mk not only comes with
-templates for generating projects, but also individual modules!
-
-You can list all available templates with the `list-templates`
-target:
-
-[source,bash]
-$ make list-templates
-Available templates: cowboy_http cowboy_loop cowboy_rest cowboy_ws gen_fsm gen_server gen_statem ranch_protocol supervisor
-
-To generate a module, let's say a `gen_server`, all you need to
-do is to call `make new` with the appropriate arguments:
-
-[source,bash]
-$ make new t=gen_server n=my_server
-
-This will create a module located in 'src/my_server.erl'
-using the `gen_server` template.
-
-This module is automatically compiled the next time you run
-`make`:
-
-[source,bash]
-$ make
- ERLC my_server.erl
- APP hello_joe.app.src
-
-All that's left to do is to open it in your favorite editor
-and make it do something!
-
-=== Hiding Erlang.mk from git
-
-Erlang.mk is a large text file. It can easily take a large part of
-a `git diff` or a `git grep` command. You can avoid this by telling
-Git that 'erlang.mk' is a binary file.
-
-Add this to your '.gitattributes' file. This is a file that you
-can create at the root of your repository:
-
-----
-erlang.mk -diff
-----
-
-The 'erlang.mk' file will still appear in diffs and greps, but
-as a binary file, meaning its contents won't be shown by default
-anymore.
-
-=== Getting help
-
-During development, if you don't remember the name of a target,
-you can always run `make help`:
-
-[source,bash]
-----
-$ make help
-erlang.mk (version 1.2.0-642-gccd2b9f) is distributed under the terms of the ISC License.
-Copyright (c) 2013-2016 Loïc Hoguin <[email protected]>
-
-Usage: [V=1] make [target]...
-
-Core targets:
- all Run deps, app and rel targets in that order
- app Compile the project
- deps Fetch dependencies (if needed) and compile them
- search q=... Search for a package in the built-in index
- rel Build a release for this project, if applicable
- docs Build the documentation for this project
- install-docs Install the man pages for this project
- check Compile and run all tests and analysis for this project
- tests Run the tests for this project
- clean Delete temporary and output files from most targets
- distclean Delete all temporary and output files
- help Display this help and exit
- erlang-mk Update erlang.mk to the latest version
-
-Bootstrap targets:
- bootstrap Generate a skeleton of an OTP application
- bootstrap-lib Generate a skeleton of an OTP library
- bootstrap-rel Generate the files needed to build a release
- new t=TPL n=NAME Generate a module NAME based on the template TPL
- list-templates List available templates
-...
-----
-
-This guide should provide any other answer. If not, please
-open a ticket on https://github.com/ninenines/erlang.mk/issues[the official repository]
-and we will work on improving the guide.
-
-Commercial support is available through Nine Nines. Please contact
-Loïc Hoguin by sending an email to mailto:[email protected][].
diff --git a/docs/en/erlang.mk/1/guide/getting_started/index.html b/docs/en/erlang.mk/1/guide/getting_started/index.html
deleted file mode 100644
index 4231ac41..00000000
--- a/docs/en/erlang.mk/1/guide/getting_started/index.html
+++ /dev/null
@@ -1,418 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
-
- <title>Nine Nines: Getting started</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href="/css/99s.css?r=5" rel="stylesheet">
-
- <link rel="shortcut icon" href="/img/ico/favicon.ico">
- <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
- <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
- <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
-
-
-</head>
-
-
-<body class="">
- <header id="page-head">
- <div id="topbar" class="container">
- <div class="row">
- <div class="span2">
- <h1 id="logo"><a href="/" title="99s">99s</a></h1>
- </div>
- <div class="span10">
-
- <div id="side-header">
- <nav>
- <ul>
- <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
- <li><a title="Watch my talks" href="/talks">Talks</a></li>
- <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
- <li><a title="Request my services" href="/services">Consulting & Training</a></li>
- </ul>
- </nav>
- <ul id="social">
- <li>
- <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
- </li>
- <li>
- <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-
-</header>
-
-<div id="contents" class="two_col">
-<div class="container">
-<div class="row">
-<div id="docs" class="span9 maincol">
-
-<h1 class="lined-header"><span>Getting started</span></h1>
-
-<p>This chapter explains how to get started using Erlang.mk.</p>
-<h2 id="_creating_a_folder_for_your_project">Creating a folder for your project</h2>
-<p>The first step is always to create a new folder that will contain your project.</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ mkdir hello_joe
-$ cd hello_joe</tt></pre>
-</div></div>
-<p>Most people tend to put all their projects side by side in a common folder. We recommend keeping an organization similar to your remote repositories. For example, for GitHub users, put all your projects in a common folder with the same name as your username. For example <em>$HOME/ninenines/cowboy</em> for the Cowboy project.</p>
-<h2 id="_downloading_erlang_mk">Downloading Erlang.mk</h2>
-<p>At the time of writing, Erlang.mk is unlikely to be present in your Erlang distribution, or even in your OS packages.</p>
-<p>The next step is therefore to download it:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ wget https<font color="#990000">:</font>//erlang<font color="#990000">.</font>mk/erlang<font color="#990000">.</font>mk</tt></pre>
-</div></div>
-<p>Or:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ curl -O https<font color="#990000">:</font>//erlang<font color="#990000">.</font>mk/erlang<font color="#990000">.</font>mk</tt></pre>
-</div></div>
-<p>Alternatively, just <a href="https://erlang.mk/erlang.mk">click on this link</a>.</p>
-<p>Make sure you put the file inside the folder we created previously.</p>
-<h2 id="_getting_started_with_otp_applications">Getting started with OTP applications</h2>
-<p>An OTP application is an Erlang application that has a supervision tree. In other words, it will always have processes running.</p>
-<p>This kind of project can be automatically generated by Erlang.mk. All you need to do is use the <code>bootstrap</code> target:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make -f erlang<font color="#990000">.</font>mk bootstrap</tt></pre>
-</div></div>
-<p>Something similar to the following snippet will then appear on your screen:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>git clone https<font color="#990000">:</font>//github<font color="#990000">.</font>com/ninenines/erlang<font color="#990000">.</font>mk <font color="#990000">.</font>erlang<font color="#990000">.</font>mk<font color="#990000">.</font>build
-Cloning into <font color="#FF0000">'.erlang.mk.build'</font><font color="#990000">...</font>
-remote<font color="#990000">:</font> Counting objects<font color="#990000">:</font> <font color="#993399">4035</font><font color="#990000">,</font> <b><font color="#0000FF">done</font></b><font color="#990000">.</font>
-remote<font color="#990000">:</font> Compressing objects<font color="#990000">:</font> <font color="#993399">100</font><font color="#990000">%</font> <font color="#990000">(</font><font color="#993399">12</font><font color="#990000">/</font><font color="#993399">12</font><font color="#990000">),</font> <b><font color="#0000FF">done</font></b><font color="#990000">.</font>
-remote<font color="#990000">:</font> Total <font color="#993399">4035</font> <font color="#990000">(</font>delta <font color="#993399">8</font><font color="#990000">),</font> reused <font color="#993399">4</font> <font color="#990000">(</font>delta <font color="#993399">4</font><font color="#990000">),</font> pack-reused <font color="#993399">4019</font>
-Receiving objects<font color="#990000">:</font> <font color="#993399">100</font><font color="#990000">%</font> <font color="#990000">(</font><font color="#993399">4035</font><font color="#990000">/</font><font color="#993399">4035</font><font color="#990000">),</font> <font color="#993399">1.10</font> MiB <font color="#990000">|</font> <font color="#993399">784.00</font> KiB/s<font color="#990000">,</font> <b><font color="#0000FF">done</font></b><font color="#990000">.</font>
-Resolving deltas<font color="#990000">:</font> <font color="#993399">100</font><font color="#990000">%</font> <font color="#990000">(</font><font color="#993399">2442</font><font color="#990000">/</font><font color="#993399">2442</font><font color="#990000">),</font> <b><font color="#0000FF">done</font></b><font color="#990000">.</font>
-Checking connectivity<font color="#990000">...</font> <b><font color="#0000FF">done</font></b><font color="#990000">.</font>
-<b><font color="#0000FF">if</font></b> <font color="#990000">[</font> -f build<font color="#990000">.</font>config <font color="#990000">];</font> <b><font color="#0000FF">then</font></b> cp build<font color="#990000">.</font>config <font color="#990000">.</font>erlang<font color="#990000">.</font>mk<font color="#990000">.</font>build<font color="#990000">;</font> <b><font color="#0000FF">fi</font></b>
-cd <font color="#990000">.</font>erlang<font color="#990000">.</font>mk<font color="#990000">.</font>build <font color="#990000">&amp;&amp;</font> make
-make<font color="#990000">[</font><font color="#993399">1</font><font color="#990000">]:</font> Entering directory <font color="#FF0000">'/home/essen/tmp/hello_joe/.erlang.mk.build'</font>
-awk <font color="#FF0000">'FNR==1 &amp;&amp; NR!=1{print ""}1'</font> core/core<font color="#990000">.</font>mk index<font color="#990000">/*.</font>mk core/index<font color="#990000">.</font>mk core/deps<font color="#990000">.</font>mk plugins/protobuffs<font color="#990000">.</font>mk core/erlc<font color="#990000">.</font>mk core/docs<font color="#990000">.</font>mk core/test<font color="#990000">.</font>mk plugins/asciidoc<font color="#990000">.</font>mk plugins/bootstrap<font color="#990000">.</font>mk plugins/c_src<font color="#990000">.</font>mk plugins/ci<font color="#990000">.</font>mk plugins/ct<font color="#990000">.</font>mk plugins/dialyzer<font color="#990000">.</font>mk plugins/edoc<font color="#990000">.</font>mk plugins/elvis<font color="#990000">.</font>mk plugins/erlydtl<font color="#990000">.</font>mk plugins/escript<font color="#990000">.</font>mk plugins/eunit<font color="#990000">.</font>mk plugins/relx<font color="#990000">.</font>mk plugins/shell<font color="#990000">.</font>mk plugins/triq<font color="#990000">.</font>mk plugins/xref<font color="#990000">.</font>mk plugins/cover<font color="#990000">.</font>mk <font color="#990000">\</font>
- <font color="#990000">|</font> sed <font color="#FF0000">'s/^ERLANG_MK_VERSION = .*/ERLANG_MK_VERSION = 1.2.0-642-gccd2b9f/'</font> <font color="#990000">&gt;</font> erlang<font color="#990000">.</font>mk
-make<font color="#990000">[</font><font color="#993399">1</font><font color="#990000">]:</font> Leaving directory <font color="#FF0000">'/home/essen/tmp/hello_joe/.erlang.mk.build'</font>
-cp <font color="#990000">.</font>erlang<font color="#990000">.</font>mk<font color="#990000">.</font>build/erlang<font color="#990000">.</font>mk <font color="#990000">.</font>/erlang<font color="#990000">.</font>mk
-rm -rf <font color="#990000">.</font>erlang<font color="#990000">.</font>mk<font color="#990000">.</font>build</tt></pre>
-</div></div>
-<p>This is Erlang.mk bootstrapping itself. Indeed, the file you initially downloaded contains nothing more than the code needed to bootstrap. This operation is done only once. Consult the <a href="../updating">Updating Erlang.mk</a> chapter for more information.</p>
-<p>Of course, the generated project can now be compiled:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make</tt></pre>
-</div></div>
-<p>Cheers!</p>
-<h2 id="_getting_started_with_otp_libraries">Getting started with OTP libraries</h2>
-<p>An OTP library is an Erlang application that has no supervision tree. In other words, it is nothing but modules.</p>
-<p>This kind of project can also be generated by Erlang.mk, using the <code>bootstrap-lib</code> target:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make -f erlang<font color="#990000">.</font>mk bootstrap-lib</tt></pre>
-</div></div>
-<p>Erlang.mk will once again bootstrap itself and generate all the files for your project. You can now compile it:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make</tt></pre>
-</div></div>
-<p>Enjoy!</p>
-<h2 id="_getting_started_with_otp_releases">Getting started with OTP releases</h2>
-<p>An OTP release is the combination of the Erlang RunTime System (ERTS) along with all the libraries and files that your node will need to run. It is entirely self contained, and can often be sent as-is to your production system and run without any extra setup.</p>
-<p>Erlang.mk can of course bootstrap your project to generate releases. You can use the <code>bootstrap-rel</code> target for this purpose:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make bootstrap-rel</tt></pre>
-</div></div>
-<p>This target can be combined with <code>bootstrap</code> or <code>bootstrap-lib</code> to create a project that will build a release:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make -f erlang<font color="#990000">.</font>mk bootstrap-lib bootstrap-rel</tt></pre>
-</div></div>
-<p>It is often very useful to keep the top-level project for commands useful during operations, and put the components of the system in separate applications that you will then depend on. Consult the <a href="../deps">Packages and dependencies</a> chapter for more information.</p>
-<p>When you run <code>make</code> from now on, Erlang.mk will compile your project and build the release:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make
- APP hello_joe<font color="#990000">.</font>app<font color="#990000">.</font>src
- GEN distclean-relx-rel
- GEN /home/essen/tmp/hello_joe/relx
-<font color="#990000">===&gt;</font> Starting relx build process <font color="#990000">...</font>
-<font color="#990000">===&gt;</font> Resolving OTP Applications from directories<font color="#990000">:</font>
- /home/essen/tmp/hello_joe/ebin
- /usr/lib/erlang/lib
- /home/essen/tmp/hello_joe/deps
-<font color="#990000">===&gt;</font> Resolved hello_joe_release-<font color="#993399">1</font>
-<font color="#990000">===&gt;</font> Including Erts from /usr/lib/erlang
-<font color="#990000">===&gt;</font> release successfully created<font color="#990000">!</font></tt></pre>
-</div></div>
-<p>The first time you run this command, Erlang.mk will download <em>relx</em>, the release building tool. So don&apos;t worry if you see more output than above.</p>
-<p>If building the release is slow, no need to upgrade your hardware just yet. Just consult the <a href="../relx">Releases</a> chapter for various tips to speed up build time during development.</p>
-<p>You can start the release using the <em>./_rel/hello_joe_release/bin/hello_joe_release</em> script, or simply run <code>make run</code>. The latter will also compile your project and build the release if it wasn&apos;t already:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make run
- APP hello_joe<font color="#990000">.</font>app<font color="#990000">.</font>src
- GEN distclean-relx-rel
-<font color="#990000">===&gt;</font> Starting relx build process <font color="#990000">...</font>
-<font color="#990000">===&gt;</font> Resolving OTP Applications from directories<font color="#990000">:</font>
- /home/essen/tmp/hello_joe/ebin
- /usr/lib/erlang/lib
- /home/essen/tmp/hello_joe/deps
-<font color="#990000">===&gt;</font> Resolved hello_joe_release-<font color="#993399">1</font>
-<font color="#990000">===&gt;</font> Including Erts from /usr/lib/erlang
-<font color="#990000">===&gt;</font> release successfully created<font color="#990000">!</font>
-Exec<font color="#990000">:</font> /home/essen/tmp/hello_joe<font color="#990000">/</font>_rel/hello_joe_release/erts-<font color="#993399">7.0</font>/bin/erlexec -boot /home/essen/tmp/hello_joe<font color="#990000">/</font>_rel/hello_joe_release/releases<font color="#990000">/</font><font color="#993399">1</font>/hello_joe_release -boot_var ERTS_LIB_DIR /home/essen/tmp/hello_joe<font color="#990000">/</font>_rel/hello_joe_release/erts-<font color="#993399">7.0</font><font color="#990000">/..</font>/lib -env ERL_LIBS /home/essen/tmp/hello_joe<font color="#990000">/</font>_rel/hello_joe_release/releases<font color="#990000">/</font><font color="#993399">1</font>/lib -config /home/essen/tmp/hello_joe<font color="#990000">/</font>_rel/hello_joe_release/releases<font color="#990000">/</font><font color="#993399">1</font>/sys<font color="#990000">.</font>config -args_file /home/essen/tmp/hello_joe<font color="#990000">/</font>_rel/hello_joe_release/releases<font color="#990000">/</font><font color="#993399">1</font>/vm<font color="#990000">.</font>args -- console
-Root<font color="#990000">:</font> /home/essen/tmp/hello_joe<font color="#990000">/</font>_rel/hello_joe_release
-/home/essen/tmp/hello_joe<font color="#990000">/</font>_rel/hello_joe_release
-heart_beat_kill_pid <font color="#990000">=</font> <font color="#993399">16389</font>
-Erlang/OTP <font color="#993399">18</font> <font color="#990000">[</font>erts-<font color="#993399">7.0</font><font color="#990000">]</font> <font color="#990000">[</font><b><font color="#0000FF">source</font></b><font color="#990000">]</font> <font color="#990000">[</font><font color="#993399">64</font>-bit<font color="#990000">]</font> <font color="#990000">[</font>smp<font color="#990000">:</font><font color="#993399">4</font><font color="#990000">:</font><font color="#993399">4</font><font color="#990000">]</font> <font color="#990000">[</font>async-threads<font color="#990000">:</font><font color="#993399">10</font><font color="#990000">]</font> <font color="#990000">[</font>hipe<font color="#990000">]</font> <font color="#990000">[</font>kernel-poll<font color="#990000">:</font><b><font color="#0000FF">false</font></b><font color="#990000">]</font>
-
-Eshell V7<font color="#990000">.</font><font color="#993399">0</font> <font color="#990000">(</font>abort with <font color="#990000">^</font>G<font color="#990000">)</font>
-<font color="#990000">(</font>hello_joe@<font color="#993399">127.0</font><font color="#990000">.</font><font color="#993399">0.1</font><font color="#990000">)</font><font color="#993399">1</font><font color="#990000">&gt;</font> </tt></pre>
-</div></div>
-<p>Simple as that!</p>
-<h2 id="_getting_started_from_scratch">Getting started from scratch</h2>
-<p>If you already have an application, or you want to have full control over what files will be created, you can setup Erlang.mk manually.</p>
-<p>Erlang.mk is very easy to setup: all that you need to do is to create a folder, put Erlang.mk in it, and write a one line Makefile containing:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>include erlang.mk</tt></pre>
-</div></div>
-<p>For a step by step:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ mkdir hello_joe
-$ cd hello_joe
-$ curl https<font color="#990000">:</font>//erlang<font color="#990000">.</font>mk/erlang<font color="#990000">.</font>mk -o erlang<font color="#990000">.</font>mk
-$ echo <font color="#FF0000">"include erlang.mk"</font> <font color="#990000">&gt;</font> Makefile
-$ make</tt></pre>
-</div></div>
-<p>From that point onward you can create an <code>src/</code> folder or start using templates.</p>
-<h2 id="_using_spaces_instead_of_tabs">Using spaces instead of tabs</h2>
-<p>Erlang.mk defaults to tabs when creating files from templates. This is in part because of a personal preference, and in part because it is much easier to convert tabs to spaces than the opposite.</p>
-<p>Use the <code>SP</code> variable if you prefer spaces. Set it to the number of spaces per indentation level you want.</p>
-<p>For example, if you prefer two spaces per indentation level:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make -f erlang<font color="#990000">.</font>mk bootstrap <font color="#009900">SP</font><font color="#990000">=</font><font color="#993399">2</font></tt></pre>
-</div></div>
-<p>When you bootstrap the project initially, the variable automatically gets added to the Makefile, so you only need to provide it when you get started.</p>
-<h2 id="_using_templates">Using templates</h2>
-<p>It is no secret that Erlang&apos;s OTP behaviors tend to have some boilerplate. It is rarely an issue of course, except when creating new modules. That&apos;s why Erlang.mk not only comes with templates for generating projects, but also individual modules!</p>
-<p>You can list all available templates with the <code>list-templates</code> target:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make list-templates
-Available templates<font color="#990000">:</font> cowboy_http cowboy_loop cowboy_rest cowboy_ws gen_fsm gen_server gen_statem ranch_protocol supervisor</tt></pre>
-</div></div>
-<p>To generate a module, let&apos;s say a <code>gen_server</code>, all you need to do is to call <code>make new</code> with the appropriate arguments:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make new <font color="#009900">t</font><font color="#990000">=</font>gen_server <font color="#009900">n</font><font color="#990000">=</font>my_server</tt></pre>
-</div></div>
-<p>This will create a module located in <em>src/my_server.erl</em> using the <code>gen_server</code> template.</p>
-<p>This module is automatically compiled the next time you run <code>make</code>:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make
- ERLC my_server<font color="#990000">.</font>erl
- APP hello_joe<font color="#990000">.</font>app<font color="#990000">.</font>src</tt></pre>
-</div></div>
-<p>All that&apos;s left to do is to open it in your favorite editor and make it do something!</p>
-<h2 id="_hiding_erlang_mk_from_git">Hiding Erlang.mk from git</h2>
-<p>Erlang.mk is a large text file. It can easily take a large part of a <code>git diff</code> or a <code>git grep</code> command. You can avoid this by telling Git that <em>erlang.mk</em> is a binary file.</p>
-<p>Add this to your <em>.gitattributes</em> file. This is a file that you can create at the root of your repository:</p>
-<div class="listingblock"><div class="content"><pre>erlang.mk -diff</pre></div></div>
-<p>The <em>erlang.mk</em> file will still appear in diffs and greps, but as a binary file, meaning its contents won&apos;t be shown by default anymore.</p>
-<h2 id="_getting_help">Getting help</h2>
-<p>During development, if you don&apos;t remember the name of a target, you can always run <code>make help</code>:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make <b><font color="#0000FF">help</font></b>
-erlang<font color="#990000">.</font>mk <font color="#990000">(</font>version <font color="#993399">1.2</font><font color="#990000">.</font><font color="#993399">0</font>-<font color="#993399">642</font>-gccd2b9f<font color="#990000">)</font> is distributed under the terms of the ISC License<font color="#990000">.</font>
-Copyright <font color="#990000">(</font>c<font color="#990000">)</font> <font color="#993399">2013</font>-<font color="#993399">2016</font> Loïc Hoguin <font color="#990000">&lt;</font>essen@ninenines<font color="#990000">.</font>eu<font color="#990000">&gt;</font>
-
-Usage<font color="#990000">:</font> <font color="#990000">[</font><font color="#009900">V</font><font color="#990000">=</font><font color="#993399">1</font><font color="#990000">]</font> make <font color="#990000">[</font>target<font color="#990000">]...</font>
-
-Core targets<font color="#990000">:</font>
- all Run deps<font color="#990000">,</font> app and rel targets <b><font color="#0000FF">in</font></b> that order
- app Compile the project
- deps Fetch dependencies <font color="#990000">(</font><b><font color="#0000FF">if</font></b> needed<font color="#990000">)</font> and compile them
- search <font color="#009900">q</font><font color="#990000">=...</font> Search <b><font color="#0000FF">for</font></b> a package <b><font color="#0000FF">in</font></b> the built-in index
- rel Build a release <b><font color="#0000FF">for</font></b> this project<font color="#990000">,</font> <b><font color="#0000FF">if</font></b> applicable
- docs Build the documentation <b><font color="#0000FF">for</font></b> this project
- install-docs Install the man pages <b><font color="#0000FF">for</font></b> this project
- check Compile and run all tests and analysis <b><font color="#0000FF">for</font></b> this project
- tests Run the tests <b><font color="#0000FF">for</font></b> this project
- clean Delete temporary and output files from most targets
- distclean Delete all temporary and output files
- <b><font color="#0000FF">help</font></b> Display this <b><font color="#0000FF">help</font></b> and <b><font color="#0000FF">exit</font></b>
- erlang-mk Update erlang<font color="#990000">.</font>mk to the latest version
-
-Bootstrap targets<font color="#990000">:</font>
- bootstrap Generate a skeleton of an OTP application
- bootstrap-lib Generate a skeleton of an OTP library
- bootstrap-rel Generate the files needed to build a release
- new <font color="#009900">t</font><font color="#990000">=</font>TPL <font color="#009900">n</font><font color="#990000">=</font>NAME Generate a module NAME based on the template TPL
- list-templates List available templates
-<font color="#990000">...</font></tt></pre>
-</div></div>
-<p>This guide should provide any other answer. If not, please open a ticket on <a href="https://github.com/ninenines/erlang.mk/issues">the official repository</a> and we will work on improving the guide.</p>
-<p>Commercial support is available through Nine Nines. Please contact Loïc Hoguin by sending an email to <a href="mailto:[email protected]">[email protected]</a>.</p>
-
-
-
-
-
-
-
-
-
-
-
- <nav style="margin:1em 0">
-
- <a style="float:left" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/installation/">
- Installation
- </a>
-
-
-
- <a style="float:right" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/overview/">
- Overview
- </a>
-
- </nav>
-
-
-
-
-</div>
-
-<div class="span3 sidecol">
-
-
-<h3>
- Erlang.mk
- 1
-
- User Guide
-</h3>
-
-<ul>
-
-
-
-</ul>
-
-<h4 id="docs-nav">Navigation</h4>
-
-<h4>Version select</h4>
-<ul>
-
-
-
- <li><a href="/docs/en/erlang.mk/1/guide">1</a></li>
-
-</ul>
-
-<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
-<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
-<input type="hidden" name="cmd" value="_donations">
-<input type="hidden" name="business" value="[email protected]">
-<input type="hidden" name="lc" value="FR">
-<input type="hidden" name="item_name" value="Loic Hoguin">
-<input type="hidden" name="item_number" value="99s">
-<input type="hidden" name="currency_code" value="EUR">
-<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
-</form><p>Recurring payment options are also available via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to cover the recurring expenses like dedicated servers or domain names.</p>
-
-
-
-</div>
-</div>
-</div>
-</div>
-
- <footer>
- <div class="container">
- <div class="row">
- <div class="span6">
- <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
- <nav>
- <ul>
- <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
- </ul>
- </nav>
- </div>
- <div class="span6 credits">
- <p><img src="/img/footer_logo.png"></p>
- <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
- </div>
- </div>
- </div>
- </footer>
-
-
- <script src="/js/custom.js"></script>
- </body>
-</html>
-
-
diff --git a/docs/en/erlang.mk/1/guide/history.asciidoc b/docs/en/erlang.mk/1/guide/history.asciidoc
deleted file mode 100644
index 92027430..00000000
--- a/docs/en/erlang.mk/1/guide/history.asciidoc
+++ /dev/null
@@ -1,66 +0,0 @@
-[[history]]
-== Short history
-
-This chapter aims to be a brief record of the life of the
-Erlang.mk project.
-
-=== Before Erlang.mk
-
-Erlang.mk originates from the Cowboy project. Cowboy started
-as a Rebar project and I, Loïc Hoguin, was very happy with it
-for a couple years. Over time however I started getting annoyed
-and frustrated by a number of things, including bad defaults,
-changing defaults and overall slowness.
-
-In particular, at the time I gave up on Rebar, the Cowboy
-test suite was taking about five minutes to run. A quick experiment
-showed I could get much lower times by simply invoking `ct_run`
-directly. On January 4th, 2013, the Cowboy test suite took less
-than a minute to complete.
-
-Following this success I started removing a little more and,
-on the fateful day of January 5th, 2013, removed the dependency
-on Rebar entirely. Rebar, and in particular the concept of
-dependencies, was, and still is, a pretty strong influence.
-
-Erlang.mk was conceived.
-
-A few months passed and, on May 1st, 2013, the Erlang.mk
-repository was created. Erlang.mk was born.
-
-Little did I know how much it would grow.
-
-=== Lifetime of the project
-
-Erlang.mk would eventually become a much larger file able to
-deal with many more projects than just Cowboy. From the birth
-of the project, the biggest force for growth was user contributions,
-because Erlang.mk appealed to a variety of people with different
-needs, needs that Erlang.mk was not fulfilling yet.
-
-The project was split into smaller files focused on a different
-feature each, and a build script was written to build the single
-Erlang.mk file.
-
-A test suite was contributed by a user, and later taken as a basis
-for the current, much more complete test suite. Turns out testing
-a Makefile is pretty straightforward.
-
-A package index was added to solve the problem of discovering
-Erlang projects.
-
-After trying to see if Erlang build tools could cooperate, the
-decision was made to improve compatibility with existing Rebar
-projects by patching Rebar out, using Rebar. This feature, called
-autopatch, proved very successful and made Erlang.mk compatible
-with more than 90% of all Erlang projects.
-
-Erlang.mk documentation was much improved and the Erlang.mk website
-was created in the summer of 2015.
-
-Over the year of 2015, Erlang.mk went from curiosity to a serious
-alternative to other Erlang build tools. The user base increased
-immensely and large projects started using it, including RabbitMQ
-from the 3.6.0 release onward.
-
-A bright future lies ahead.
diff --git a/docs/en/erlang.mk/1/guide/history/index.html b/docs/en/erlang.mk/1/guide/history/index.html
deleted file mode 100644
index 8b0a5dd6..00000000
--- a/docs/en/erlang.mk/1/guide/history/index.html
+++ /dev/null
@@ -1,184 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
-
- <title>Nine Nines: Short history</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href="/css/99s.css?r=5" rel="stylesheet">
-
- <link rel="shortcut icon" href="/img/ico/favicon.ico">
- <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
- <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
- <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
-
-
-</head>
-
-
-<body class="">
- <header id="page-head">
- <div id="topbar" class="container">
- <div class="row">
- <div class="span2">
- <h1 id="logo"><a href="/" title="99s">99s</a></h1>
- </div>
- <div class="span10">
-
- <div id="side-header">
- <nav>
- <ul>
- <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
- <li><a title="Watch my talks" href="/talks">Talks</a></li>
- <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
- <li><a title="Request my services" href="/services">Consulting & Training</a></li>
- </ul>
- </nav>
- <ul id="social">
- <li>
- <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
- </li>
- <li>
- <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-
-</header>
-
-<div id="contents" class="two_col">
-<div class="container">
-<div class="row">
-<div id="docs" class="span9 maincol">
-
-<h1 class="lined-header"><span>Short history</span></h1>
-
-<p>This chapter aims to be a brief record of the life of the Erlang.mk project.</p>
-<h2 id="_before_erlang_mk">Before Erlang.mk</h2>
-<p>Erlang.mk originates from the Cowboy project. Cowboy started as a Rebar project and I, Loïc Hoguin, was very happy with it for a couple years. Over time however I started getting annoyed and frustrated by a number of things, including bad defaults, changing defaults and overall slowness.</p>
-<p>In particular, at the time I gave up on Rebar, the Cowboy test suite was taking about five minutes to run. A quick experiment showed I could get much lower times by simply invoking <code>ct_run</code> directly. On January 4th, 2013, the Cowboy test suite took less than a minute to complete.</p>
-<p>Following this success I started removing a little more and, on the fateful day of January 5th, 2013, removed the dependency on Rebar entirely. Rebar, and in particular the concept of dependencies, was, and still is, a pretty strong influence.</p>
-<p>Erlang.mk was conceived.</p>
-<p>A few months passed and, on May 1st, 2013, the Erlang.mk repository was created. Erlang.mk was born.</p>
-<p>Little did I know how much it would grow.</p>
-<h2 id="_lifetime_of_the_project">Lifetime of the project</h2>
-<p>Erlang.mk would eventually become a much larger file able to deal with many more projects than just Cowboy. From the birth of the project, the biggest force for growth was user contributions, because Erlang.mk appealed to a variety of people with different needs, needs that Erlang.mk was not fulfilling yet.</p>
-<p>The project was split into smaller files focused on a different feature each, and a build script was written to build the single Erlang.mk file.</p>
-<p>A test suite was contributed by a user, and later taken as a basis for the current, much more complete test suite. Turns out testing a Makefile is pretty straightforward.</p>
-<p>A package index was added to solve the problem of discovering Erlang projects.</p>
-<p>After trying to see if Erlang build tools could cooperate, the decision was made to improve compatibility with existing Rebar projects by patching Rebar out, using Rebar. This feature, called autopatch, proved very successful and made Erlang.mk compatible with more than 90% of all Erlang projects.</p>
-<p>Erlang.mk documentation was much improved and the Erlang.mk website was created in the summer of 2015.</p>
-<p>Over the year of 2015, Erlang.mk went from curiosity to a serious alternative to other Erlang build tools. The user base increased immensely and large projects started using it, including RabbitMQ from the 3.6.0 release onward.</p>
-<p>A bright future lies ahead.</p>
-
-
-
-
-
-
-
-
-
-
-
- <nav style="margin:1em 0">
-
- <a style="float:left" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/why/">
- Why Erlang.mk
- </a>
-
-
-
- <a style="float:right" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/contributing/">
- Contributing
- </a>
-
- </nav>
-
-
-
-
-</div>
-
-<div class="span3 sidecol">
-
-
-<h3>
- Erlang.mk
- 1
-
- User Guide
-</h3>
-
-<ul>
-
-
-
-</ul>
-
-<h4 id="docs-nav">Navigation</h4>
-
-<h4>Version select</h4>
-<ul>
-
-
-
- <li><a href="/docs/en/erlang.mk/1/guide">1</a></li>
-
-</ul>
-
-<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
-<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
-<input type="hidden" name="cmd" value="_donations">
-<input type="hidden" name="business" value="[email protected]">
-<input type="hidden" name="lc" value="FR">
-<input type="hidden" name="item_name" value="Loic Hoguin">
-<input type="hidden" name="item_number" value="99s">
-<input type="hidden" name="currency_code" value="EUR">
-<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
-</form><p>Recurring payment options are also available via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to cover the recurring expenses like dedicated servers or domain names.</p>
-
-
-
-</div>
-</div>
-</div>
-</div>
-
- <footer>
- <div class="container">
- <div class="row">
- <div class="span6">
- <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
- <nav>
- <ul>
- <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
- </ul>
- </nav>
- </div>
- <div class="span6 credits">
- <p><img src="/img/footer_logo.png"></p>
- <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
- </div>
- </div>
- </div>
- </footer>
-
-
- <script src="/js/custom.js"></script>
- </body>
-</html>
-
-
diff --git a/docs/en/erlang.mk/1/guide/index.html b/docs/en/erlang.mk/1/guide/index.html
deleted file mode 100644
index 3a3c54a8..00000000
--- a/docs/en/erlang.mk/1/guide/index.html
+++ /dev/null
@@ -1,218 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
-
- <title>Nine Nines: Erlang.mk User Guide</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href="/css/99s.css?r=5" rel="stylesheet">
-
- <link rel="shortcut icon" href="/img/ico/favicon.ico">
- <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
- <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
- <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
-
-
-</head>
-
-
-<body class="">
- <header id="page-head">
- <div id="topbar" class="container">
- <div class="row">
- <div class="span2">
- <h1 id="logo"><a href="/" title="99s">99s</a></h1>
- </div>
- <div class="span10">
-
- <div id="side-header">
- <nav>
- <ul>
- <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
- <li><a title="Watch my talks" href="/talks">Talks</a></li>
- <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
- <li><a title="Request my services" href="/services">Consulting & Training</a></li>
- </ul>
- </nav>
- <ul id="social">
- <li>
- <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
- </li>
- <li>
- <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-
-</header>
-
-<div id="contents" class="two_col">
-<div class="container">
-<div class="row">
-<div id="docs" class="span9 maincol">
-
-<h1 class="lined-header"><span>Erlang.mk User Guide</span></h1>
-
-<ul><li><a href="installation/">Installation</a>
-</li>
-<li><a href="getting_started/">Getting started</a>
-</li>
-<li><a href="overview/">Overview</a>
-</li>
-<li><a href="updating/">Updating Erlang.mk</a>
-</li>
-<li><a href="limitations/">Limitations</a>
-</li>
-</ul>
-<h2 id="code">Code</h2>
-<ul><li><a href="app/">Building</a>
-</li>
-<li><a href="deps/">Packages and dependencies</a>
-</li>
-<li><a href="ports/">NIFs and port drivers</a>
-</li>
-<li><a href="releases/">Releases</a>
-</li>
-<li><a href="sfx/">Self-extracting releases</a>
-</li>
-<li><a href="escripts/">Escripts</a>
-</li>
-<li><a href="kerl/">OTP version management</a>
-</li>
-<li><a href="cross_compiling/">Cross compiling</a>
-</li>
-<li><a href="compat/">Compatibility with other build tools</a>
-</li>
-</ul>
-<h2 id="docs">Documentation</h2>
-<ul><li><a href="asciidoc/">Asciidoc documentation</a>
-</li>
-<li><a href="edoc/">EDoc comments</a>
-</li>
-<li><a href="sphinx/">Sphinx documentation</a>
-</li>
-</ul>
-<h2 id="tests">Tests</h2>
-<ul><li><a href="shell/">Erlang shell</a>
-</li>
-<li><a href="eunit/">EUnit</a>
-</li>
-<li><a href="common_test/">Common Test</a>
-</li>
-<li><a href="proper/">PropEr</a>
-</li>
-<li><a href="triq/">Triq</a>
-</li>
-<li><a href="coverage/">Code coverage</a>
-</li>
-<li><a href="ci/">Continuous integration</a>
-</li>
-<li><a href="dialyzer/">Dialyzer</a>
-</li>
-<li><a href="xref/">Xref</a>
-</li>
-</ul>
-<h2 id="plugins">Third-party plugins</h2>
-<ul><li><a href="external_plugins/">External plugins</a>
-</li>
-<li><a href="external_plugins_list/">List of plugins</a>
-</li>
-</ul>
-<h2 id="about">About Erlang.mk</h2>
-<ul><li><a href="why/">Why erlang.mk?</a>
-</li>
-<li><a href="history/">Short history</a>
-</li>
-<li><a href="contributing/">Contributing</a>
-</li>
-</ul>
-
-
-
-
-
-
-</div>
-
-<div class="span3 sidecol">
-
-
-<h3>
- Erlang.mk
- 1
-
- User Guide
-</h3>
-
-<ul>
-
-
-
-</ul>
-
-<h4 id="docs-nav">Navigation</h4>
-
-<h4>Version select</h4>
-<ul>
-
-
-
- <li><a href="/docs/en/erlang.mk/1/guide">1</a></li>
-
-</ul>
-
-<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
-<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
-<input type="hidden" name="cmd" value="_donations">
-<input type="hidden" name="business" value="[email protected]">
-<input type="hidden" name="lc" value="FR">
-<input type="hidden" name="item_name" value="Loic Hoguin">
-<input type="hidden" name="item_number" value="99s">
-<input type="hidden" name="currency_code" value="EUR">
-<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
-</form><p>Recurring payment options are also available via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to cover the recurring expenses like dedicated servers or domain names.</p>
-
-
-
-</div>
-</div>
-</div>
-</div>
-
- <footer>
- <div class="container">
- <div class="row">
- <div class="span6">
- <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
- <nav>
- <ul>
- <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
- </ul>
- </nav>
- </div>
- <div class="span6 credits">
- <p><img src="/img/footer_logo.png"></p>
- <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
- </div>
- </div>
- </div>
- </footer>
-
-
- <script src="/js/custom.js"></script>
- </body>
-</html>
-
-
diff --git a/docs/en/erlang.mk/1/guide/installation.asciidoc b/docs/en/erlang.mk/1/guide/installation.asciidoc
deleted file mode 100644
index 254b461d..00000000
--- a/docs/en/erlang.mk/1/guide/installation.asciidoc
+++ /dev/null
@@ -1,173 +0,0 @@
-[[installation]]
-== Installation
-
-=== On Unix
-
-Erlang.mk requires GNU Make to be installed. While it will
-currently work with GNU Make 3.81, support for this version
-is deprecated and will be removed in 2017. We recommend
-GNU Make 4.1 or later.
-
-Git and Erlang/OTP must also be installed.
-
-Some functionality requires that Autoconf 2.59 or later be
-installed, in order to compile Erlang/OTP. Erlang/OTP may
-have further requirements depending on your needs.
-
-Some packages may require additional libraries.
-
-==== Linux
-
-The commands to install packages vary between distributions:
-
-.Arch Linux
-[source,bash]
-$ pacman -S erlang git make
-
-Alpine Linux and other distributions based on BusyBox come
-with an incompatible `awk` program. Installing the GNU Awk
-(`gawk` on Alpine) solves this issue.
-
-Parallel builds may require the program `flock` that can
-be found in the package `util-linux`.
-
-==== FreeBSD
-
-FreeBSD comes with binary and source packages:
-
-.Install binary packages
-[source,bash]
-$ pkg install erlang git gmake
-
-On FreeBSD the `make` command is BSD Make. Use `gmake` instead.
-
-==== OS X and macOS
-
-While Apple distributes their own GNU Make, their version is
-very old and plagued with numerous bugs. It is recommended
-to install a more recent version from either Homebrew or
-MacPorts:
-
-.Homebrew
-[source,bash]
-$ brew install erlang git make
-
-Homebrew installs GNU Make as `gmake`. The `make` command
-is the one provided by Apple.
-
-.MacPorts
-[source,bash]
-$ sudo port install erlang git gmake
-
-Parallel builds may require the program `flock` which can
-be installed via Homebrew or manually. The instructions
-to install are available from its repository:
-https://github.com/discoteq/flock
-
-=== On Windows
-
-Erlang.mk can be used on Windows inside an MSYS2 environment.
-Cygwin, MSYS (the original) and native Windows (both Batch
-and PowerShell) are currently not supported.
-
-NOTE: Erlang.mk expects Unix line breaks in most of the files
-(LF instead of CRLF). Make sure to configure your text editor
-adequately.
-
-The rest of this section details how to setup Erlang/OTP and
-MSYS2 in order to use Erlang.mk.
-
-==== Installing Erlang/OTP
-
-Erlang.mk requires Erlang/OTP to be installed. The OTP team
-provides binaries of Erlang/OTP for all major and minor releases,
-available from the http://www.erlang.org/download.html[official download page].
-It is recommended that you use the 64-bit installer unless
-technically impossible. Please follow the instructions from
-the installer to complete the installation.
-
-The OTP team also provides a short guide to
-http://www.erlang.org/download.html[installing Erlang/OTP on Windows]
-if you need additional references.
-
-You can install Erlang/OTP silently using the `/S` switch
-on the command line:
-
-----
-C:\Users\essen\Downloads> otp_win64_18.0.exe /S
-----
-
-==== Installing MSYS2
-
-The only supported environment on Windows is MSYS2. MSYS2 is
-a lightweight Unix-like environment for Windows that comes
-with the Arch Linux package manager, `pacman`.
-
-The MSYS2 project provides a http://msys2.github.io[one click installer]
-and instructions to set things up post-installation.
-
-It is currently not possible to use the installer silently.
-Thankfully, the MSYS2 project provides an archive that can
-be used in lieu of the installer. The archive however requires
-_7zip_ to decompress it.
-
-First, download the
-http://sourceforge.net/projects/msys2/files/Base/x86_64/msys2-base-x86_64-20150512.tar.xz/download[MSYS2 base archive]
-and extract it under 'C:\'. Assuming you downloaded the
-archive as 'msys2.tar.xz' and put it in 'C:\', you can
-use the following commands to extract it:
-
-----
-C:\> 7z x msys2.tar.xz
-C:\> 7z x msys2.tar > NUL
-----
-
-Then you can run the two commands needed to perform the
-post-installation setup:
-
-----
-C:\> C:\msys64\usr\bin\bash -lc "pacman --needed --noconfirm -Sy bash pacman pacman-mirrors msys2-runtime"
-C:\> C:\msys64\usr\bin\bash -lc "pacman --noconfirm -Syu"
-----
-
-==== Installing the required MSYS2 packages
-
-After following these instructions, you can install GNU Make,
-Git and any other required softwares. From an MSYS2 shell,
-you can call `pacman` directly:
-
-[source,bash]
-$ pacman -S git make
-
-You can use `pacman -Ss` to search packages. For example,
-to find all packages related to GCC:
-
-[source,bash]
-$ pacman -Ss gcc
-
-If you are going to compile C/C++ code, you will need to
-install this package, as Erlang.mk cannot use the normal
-"gcc" package:
-
-[source,bash]
-$ pacman -S mingw-w64-x86_64-gcc
-
-You can also run commands under the MSYS2 environment from
-the Windows command line or batch files. This command will
-install GNU Make and Git:
-
-----
-C:\> C:\msys64\usr\bin\bash -lc "pacman --noconfirm -S git make"
-----
-
-You can use similar `bash` commands if you need to run programs
-inside the MSYS2 environment from a batch file.
-
-==== Gotchas
-
-While most of the basic functionality will just work, there are
-still some issues. Erlang.mk needs to be fixed to pass the
-right paths when running Erlang scripts. We are working on it.
-Erlang.mk is fully tested on both Linux and Windows, but is
-lacking tests in the areas not yet covered by this guide,
-so expect bugs to be fixed as more tests are added.
diff --git a/docs/en/erlang.mk/1/guide/installation/index.html b/docs/en/erlang.mk/1/guide/installation/index.html
deleted file mode 100644
index b740bb7f..00000000
--- a/docs/en/erlang.mk/1/guide/installation/index.html
+++ /dev/null
@@ -1,253 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
-
- <title>Nine Nines: Installation</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href="/css/99s.css?r=5" rel="stylesheet">
-
- <link rel="shortcut icon" href="/img/ico/favicon.ico">
- <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
- <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
- <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
-
-
-</head>
-
-
-<body class="">
- <header id="page-head">
- <div id="topbar" class="container">
- <div class="row">
- <div class="span2">
- <h1 id="logo"><a href="/" title="99s">99s</a></h1>
- </div>
- <div class="span10">
-
- <div id="side-header">
- <nav>
- <ul>
- <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
- <li><a title="Watch my talks" href="/talks">Talks</a></li>
- <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
- <li><a title="Request my services" href="/services">Consulting & Training</a></li>
- </ul>
- </nav>
- <ul id="social">
- <li>
- <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
- </li>
- <li>
- <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-
-</header>
-
-<div id="contents" class="two_col">
-<div class="container">
-<div class="row">
-<div id="docs" class="span9 maincol">
-
-<h1 class="lined-header"><span>Installation</span></h1>
-
-<h2 id="_on_unix">On Unix</h2>
-<p>Erlang.mk requires GNU Make to be installed. While it will currently work with GNU Make 3.81, support for this version is deprecated and will be removed in 2017. We recommend GNU Make 4.1 or later.</p>
-<p>Git and Erlang/OTP must also be installed.</p>
-<p>Some functionality requires that Autoconf 2.59 or later be installed, in order to compile Erlang/OTP. Erlang/OTP may have further requirements depending on your needs.</p>
-<p>Some packages may require additional libraries.</p>
-<h4 id="_linux">Linux</h4>
-<p>The commands to install packages vary between distributions:</p>
-<div class="listingblock"><div class="title">Arch Linux</div>
-<div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ pacman -S erlang git make</tt></pre>
-</div></div>
-<p>Alpine Linux and other distributions based on BusyBox come with an incompatible <code>awk</code> program. Installing the GNU Awk (<code>gawk</code> on Alpine) solves this issue.</p>
-<p>Parallel builds may require the program <code>flock</code> that can be found in the package <code>util-linux</code>.</p>
-<h4 id="_freebsd">FreeBSD</h4>
-<p>FreeBSD comes with binary and source packages:</p>
-<div class="listingblock"><div class="title">Install binary packages</div>
-<div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ pkg install erlang git gmake</tt></pre>
-</div></div>
-<p>On FreeBSD the <code>make</code> command is BSD Make. Use <code>gmake</code> instead.</p>
-<h4 id="_os_x_and_macos">OS X and macOS</h4>
-<p>While Apple distributes their own GNU Make, their version is very old and plagued with numerous bugs. It is recommended to install a more recent version from either Homebrew or MacPorts:</p>
-<div class="listingblock"><div class="title">Homebrew</div>
-<div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ brew install erlang git make</tt></pre>
-</div></div>
-<p>Homebrew installs GNU Make as <code>gmake</code>. The <code>make</code> command is the one provided by Apple.</p>
-<div class="listingblock"><div class="title">MacPorts</div>
-<div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ sudo port install erlang git gmake</tt></pre>
-</div></div>
-<p>Parallel builds may require the program <code>flock</code> which can be installed via Homebrew or manually. The instructions to install are available from its repository: <a href="https://github.com/discoteq/flock">https://github.com/discoteq/flock</a></p>
-<h2 id="_on_windows">On Windows</h2>
-<p>Erlang.mk can be used on Windows inside an MSYS2 environment. Cygwin, MSYS (the original) and native Windows (both Batch and PowerShell) are currently not supported.</p>
-<p>NOTE: Erlang.mk expects Unix line breaks in most of the files (LF instead of CRLF). Make sure to configure your text editor adequately.</p>
-<p>The rest of this section details how to setup Erlang/OTP and MSYS2 in order to use Erlang.mk.</p>
-<h4 id="_installing_erlang_otp">Installing Erlang/OTP</h4>
-<p>Erlang.mk requires Erlang/OTP to be installed. The OTP team provides binaries of Erlang/OTP for all major and minor releases, available from the <a href="http://www.erlang.org/download.html">official download page</a>. It is recommended that you use the 64-bit installer unless technically impossible. Please follow the instructions from the installer to complete the installation.</p>
-<p>The OTP team also provides a short guide to <a href="http://www.erlang.org/download.html">installing Erlang/OTP on Windows</a> if you need additional references.</p>
-<p>You can install Erlang/OTP silently using the <code>/S</code> switch on the command line:</p>
-<div class="listingblock"><div class="content"><pre>C:\Users\essen\Downloads&gt; otp_win64_18.0.exe /S</pre></div></div>
-<h4 id="_installing_msys2">Installing MSYS2</h4>
-<p>The only supported environment on Windows is MSYS2. MSYS2 is a lightweight Unix-like environment for Windows that comes with the Arch Linux package manager, <code>pacman</code>.</p>
-<p>The MSYS2 project provides a <a href="http://msys2.github.io">one click installer</a> and instructions to set things up post-installation.</p>
-<p>It is currently not possible to use the installer silently. Thankfully, the MSYS2 project provides an archive that can be used in lieu of the installer. The archive however requires <em>7zip</em> to decompress it.</p>
-<p>First, download the <a href="http://sourceforge.net/projects/msys2/files/Base/x86_64/msys2-base-x86_64-20150512.tar.xz/download">MSYS2 base archive</a> and extract it under <em>C:\</em>. Assuming you downloaded the archive as <em>msys2.tar.xz</em> and put it in <em>C:\</em>, you can use the following commands to extract it:</p>
-<div class="listingblock"><div class="content"><pre>C:\&gt; 7z x msys2.tar.xz
-C:\&gt; 7z x msys2.tar &gt; NUL</pre></div></div>
-<p>Then you can run the two commands needed to perform the post-installation setup:</p>
-<div class="listingblock"><div class="content"><pre>C:\&gt; C:\msys64\usr\bin\bash -lc &quot;pacman --needed --noconfirm -Sy bash pacman pacman-mirrors msys2-runtime&quot;
-C:\&gt; C:\msys64\usr\bin\bash -lc &quot;pacman --noconfirm -Syu&quot;</pre></div></div>
-<h4 id="_installing_the_required_msys2_packages">Installing the required MSYS2 packages</h4>
-<p>After following these instructions, you can install GNU Make, Git and any other required softwares. From an MSYS2 shell, you can call <code>pacman</code> directly:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ pacman -S git make</tt></pre>
-</div></div>
-<p>You can use <code>pacman -Ss</code> to search packages. For example, to find all packages related to GCC:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ pacman -Ss gcc</tt></pre>
-</div></div>
-<p>If you are going to compile C/C++ code, you will need to install this package, as Erlang.mk cannot use the normal &quot;gcc&quot; package:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ pacman -S mingw-w<font color="#993399">64</font>-x86_64-gcc</tt></pre>
-</div></div>
-<p>You can also run commands under the MSYS2 environment from the Windows command line or batch files. This command will install GNU Make and Git:</p>
-<div class="listingblock"><div class="content"><pre>C:\&gt; C:\msys64\usr\bin\bash -lc &quot;pacman --noconfirm -S git make&quot;</pre></div></div>
-<p>You can use similar <code>bash</code> commands if you need to run programs inside the MSYS2 environment from a batch file.</p>
-<h4 id="_gotchas">Gotchas</h4>
-<p>While most of the basic functionality will just work, there are still some issues. Erlang.mk needs to be fixed to pass the right paths when running Erlang scripts. We are working on it. Erlang.mk is fully tested on both Linux and Windows, but is lacking tests in the areas not yet covered by this guide, so expect bugs to be fixed as more tests are added.</p>
-
-
-
-
-
-
-
-
-
-
-
- <nav style="margin:1em 0">
-
-
-
- <a style="float:right" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/getting_started/">
- Getting started
- </a>
-
- </nav>
-
-
-
-
-</div>
-
-<div class="span3 sidecol">
-
-
-<h3>
- Erlang.mk
- 1
-
- User Guide
-</h3>
-
-<ul>
-
-
-
-</ul>
-
-<h4 id="docs-nav">Navigation</h4>
-
-<h4>Version select</h4>
-<ul>
-
-
-
- <li><a href="/docs/en/erlang.mk/1/guide">1</a></li>
-
-</ul>
-
-<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
-<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
-<input type="hidden" name="cmd" value="_donations">
-<input type="hidden" name="business" value="[email protected]">
-<input type="hidden" name="lc" value="FR">
-<input type="hidden" name="item_name" value="Loic Hoguin">
-<input type="hidden" name="item_number" value="99s">
-<input type="hidden" name="currency_code" value="EUR">
-<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
-</form><p>Recurring payment options are also available via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to cover the recurring expenses like dedicated servers or domain names.</p>
-
-
-
-</div>
-</div>
-</div>
-</div>
-
- <footer>
- <div class="container">
- <div class="row">
- <div class="span6">
- <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
- <nav>
- <ul>
- <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
- </ul>
- </nav>
- </div>
- <div class="span6 credits">
- <p><img src="/img/footer_logo.png"></p>
- <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
- </div>
- </div>
- </div>
- </footer>
-
-
- <script src="/js/custom.js"></script>
- </body>
-</html>
-
-
diff --git a/docs/en/erlang.mk/1/guide/kerl.asciidoc b/docs/en/erlang.mk/1/guide/kerl.asciidoc
deleted file mode 100644
index c557d432..00000000
--- a/docs/en/erlang.mk/1/guide/kerl.asciidoc
+++ /dev/null
@@ -1,76 +0,0 @@
-[[kerl]]
-== OTP version management
-
-Erlang.mk comes with integrated support for
-https://github.com/kerl/kerl[Kerl], a shell script that
-automates the downloading, building and installing of
-Erlang/OTP. It can be used to easily build a specific
-Erlang/OTP version (with or without custom build options)
-or maintain different versions side by side.
-
-=== Erlang versions
-
-Erlang.mk uses the Git tags from Erlang/OTP to identify
-OTP versions. The most recent tag at the time of writing
-is `OTP-20.0.4`, which is a patch release of `OTP-20.0`.
-A patch release is a non-official release containing a
-few fixes on top of the official release.
-
-Older versions used a slightly different versioning scheme
-and tag format, for example: `OTP_R16B03`. Beware though,
-there also was an `OTP_R16B03-1` release that fixed a
-critical issue in the initial release.
-
-The README file for all official Erlang/OTP releases can
-be found on http://www.erlang.org/downloads[erlang.org].
-To obtain information about patch releases when they are
-released you need to be subscribed to the
-http://erlang.org/mailman/listinfo/erlang-questions[erlang-questions mailing list].
-
-[[otp_version_pinning]]
-=== OTP version pinning
-
-Erlang.mk can use a specific version of Erlang/OTP when
-interacting with your project. This can be very useful
-when you are working with a team because you can define
-the version you need in the Makefile and Erlang.mk will
-ensure this version is used by everyone in your team.
-
-To pin the version all you need to do is to set the
-`ERLANG_OTP` variable in your Makefile before including
-Erlang.mk. For example, to use `OTP-20.0.4`:
-
-[source,make]
-----
-ERLANG_OTP = OTP-20.0.4
-
-include erlang.mk
-----
-
-The next time you run `make` Erlang.mk will build and
-use the version you configured.
-
-Note that there has been reports that this functionality
-is not compatible with the `.ONESHELL` feature from
-GNU Make.
-
-=== Continuous integration
-
-Erlang.mk can automatically test your project against
-many different Erlang/OTP versions. This functionality
-is documented in the xref:ci[Continuous integration] chapter.
-
-=== Configuring Kerl
-
-All of the Kerl variables can be configured directly in the
-Makefile. All you need to do is to export them. For example,
-to change the installation directory for the Erlang/OTP
-versions managed by Kerl, you could add the following to
-your Makefile:
-
-[source,make]
-export KERL_INSTALL_DIR = $(CURDIR)/erlang
-
-When configuring paths like this, always make sure to provide
-an absolute path in the value. Erlang.mk will NOT expand them
-automatically for you.
diff --git a/docs/en/erlang.mk/1/guide/kerl/index.html b/docs/en/erlang.mk/1/guide/kerl/index.html
deleted file mode 100644
index 47e8d034..00000000
--- a/docs/en/erlang.mk/1/guide/kerl/index.html
+++ /dev/null
@@ -1,196 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
-
- <title>Nine Nines: OTP version management</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href="/css/99s.css?r=5" rel="stylesheet">
-
- <link rel="shortcut icon" href="/img/ico/favicon.ico">
- <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
- <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
- <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
-
-
-</head>
-
-
-<body class="">
- <header id="page-head">
- <div id="topbar" class="container">
- <div class="row">
- <div class="span2">
- <h1 id="logo"><a href="/" title="99s">99s</a></h1>
- </div>
- <div class="span10">
-
- <div id="side-header">
- <nav>
- <ul>
- <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
- <li><a title="Watch my talks" href="/talks">Talks</a></li>
- <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
- <li><a title="Request my services" href="/services">Consulting & Training</a></li>
- </ul>
- </nav>
- <ul id="social">
- <li>
- <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
- </li>
- <li>
- <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-
-</header>
-
-<div id="contents" class="two_col">
-<div class="container">
-<div class="row">
-<div id="docs" class="span9 maincol">
-
-<h1 class="lined-header"><span>OTP version management</span></h1>
-
-<p>Erlang.mk comes with integrated support for <a href="https://github.com/kerl/kerl">Kerl</a>, a shell script that automates the downloading, building and installing of Erlang/OTP. It can be used to easily build a specific Erlang/OTP version (with or without custom build options) or maintain different versions side by side.</p>
-<h2 id="_erlang_versions">Erlang versions</h2>
-<p>Erlang.mk uses the Git tags from Erlang/OTP to identify OTP versions. The most recent tag at the time of writing is <code>OTP-20.0.4</code>, which is a patch release of <code>OTP-20.0</code>. A patch release is a non-official release containing a few fixes on top of the official release.</p>
-<p>Older versions used a slightly different versioning scheme and tag format, for example: <code>OTP_R16B03</code>. Beware though, there also was an <code>OTP_R16B03-1</code> release that fixed a critical issue in the initial release.</p>
-<p>The README file for all official Erlang/OTP releases can be found on <a href="http://www.erlang.org/downloads">erlang.org</a>. To obtain information about patch releases when they are released you need to be subscribed to the <a href="http://erlang.org/mailman/listinfo/erlang-questions">erlang-questions mailing list</a>.</p>
-<h2 id="otp_version_pinning">OTP version pinning</h2>
-<p>Erlang.mk can use a specific version of Erlang/OTP when interacting with your project. This can be very useful when you are working with a team because you can define the version you need in the Makefile and Erlang.mk will ensure this version is used by everyone in your team.</p>
-<p>To pin the version all you need to do is to set the <code>ERLANG_OTP</code> variable in your Makefile before including Erlang.mk. For example, to use <code>OTP-20.0.4</code>:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">ERLANG_OTP =</font> OTP-20.0.4
-
-include erlang.mk</tt></pre>
-</div></div>
-<p>The next time you run <code>make</code> Erlang.mk will build and use the version you configured.</p>
-<p>Note that there has been reports that this functionality is not compatible with the <code>.ONESHELL</code> feature from GNU Make.</p>
-<h2 id="_continuous_integration">Continuous integration</h2>
-<p>Erlang.mk can automatically test your project against many different Erlang/OTP versions. This functionality is documented in the <a href="../ci">Continuous integration</a> chapter.</p>
-<h2 id="_configuring_kerl">Configuring Kerl</h2>
-<p>All of the Kerl variables can be configured directly in the Makefile. All you need to do is to export them. For example, to change the installation directory for the Erlang/OTP versions managed by Kerl, you could add the following to your Makefile:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><b><font color="#0000FF">export</font></b> KERL_INSTALL_DIR <font color="#990000">=</font> <font color="#009900">$(CURDIR)</font>/erlang</tt></pre>
-</div></div>
-<p>When configuring paths like this, always make sure to provide an absolute path in the value. Erlang.mk will NOT expand them automatically for you.</p>
-
-
-
-
-
-
-
-
-
-
-
- <nav style="margin:1em 0">
-
- <a style="float:left" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/escripts/">
- Escripts
- </a>
-
-
-
- <a style="float:right" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/cross_compiling/">
- Cross compiling
- </a>
-
- </nav>
-
-
-
-
-</div>
-
-<div class="span3 sidecol">
-
-
-<h3>
- Erlang.mk
- 1
-
- User Guide
-</h3>
-
-<ul>
-
-
-
-</ul>
-
-<h4 id="docs-nav">Navigation</h4>
-
-<h4>Version select</h4>
-<ul>
-
-
-
- <li><a href="/docs/en/erlang.mk/1/guide">1</a></li>
-
-</ul>
-
-<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
-<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
-<input type="hidden" name="cmd" value="_donations">
-<input type="hidden" name="business" value="[email protected]">
-<input type="hidden" name="lc" value="FR">
-<input type="hidden" name="item_name" value="Loic Hoguin">
-<input type="hidden" name="item_number" value="99s">
-<input type="hidden" name="currency_code" value="EUR">
-<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
-</form><p>Recurring payment options are also available via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to cover the recurring expenses like dedicated servers or domain names.</p>
-
-
-
-</div>
-</div>
-</div>
-</div>
-
- <footer>
- <div class="container">
- <div class="row">
- <div class="span6">
- <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
- <nav>
- <ul>
- <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
- </ul>
- </nav>
- </div>
- <div class="span6 credits">
- <p><img src="/img/footer_logo.png"></p>
- <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
- </div>
- </div>
- </div>
- </footer>
-
-
- <script src="/js/custom.js"></script>
- </body>
-</html>
-
-
diff --git a/docs/en/erlang.mk/1/guide/limitations.asciidoc b/docs/en/erlang.mk/1/guide/limitations.asciidoc
deleted file mode 100644
index 1bf33d21..00000000
--- a/docs/en/erlang.mk/1/guide/limitations.asciidoc
+++ /dev/null
@@ -1,46 +0,0 @@
-[[limitations]]
-== Limitations
-
-No software is perfect.
-
-It's very important, when evaluating and when using a tool,
-to understand its limitations, so as to avoid making mistakes
-and wasting valuable time.
-
-This chapter lists all known limitations of Erlang.mk.
-
-=== Erlang must be available
-
-Currently Erlang.mk requires you to install Erlang beforehand.
-Installing Erlang is not always easy, particularly if you need
-a specific version of Erlang for a specific project.
-
-In addition, the Erlang being used must be in your `$PATH`
-before you use Erlang.mk.
-
-In the future we envision, Erlang.mk could manage the Erlang
-version you need to use a project. Erlang.mk already does this
-for running tests when using `make ci`, so doing this during
-development is just a step away.
-
-=== Spaces in path
-
-Erlang.mk will currently not work properly if the path to the
-project contains spaces. To check if that is the case, use the
-command `pwd`.
-
-This issue is due to how Makefiles work. There might be ways
-to solve it, we have not given up on it, but it's very low
-priority considering how simple the workaround is.
-
-=== Dependency tracking and modification times
-
-Erlang source files that depend on other files will have their
-modification time updated when they need to be recompiled due
-to a dependency having changed. This could cause some editors to
-think the file changed when it didn't.
-
-Erlang.mk must use this method in order to be able to compile
-files in one `erlc` invocation. The benefits greatly outweigh
-the issue in this case and so there are currently no plans to
-fix this behavior.
diff --git a/docs/en/erlang.mk/1/guide/limitations/index.html b/docs/en/erlang.mk/1/guide/limitations/index.html
deleted file mode 100644
index ed162618..00000000
--- a/docs/en/erlang.mk/1/guide/limitations/index.html
+++ /dev/null
@@ -1,180 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
-
- <title>Nine Nines: Limitations</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href="/css/99s.css?r=5" rel="stylesheet">
-
- <link rel="shortcut icon" href="/img/ico/favicon.ico">
- <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
- <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
- <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
-
-
-</head>
-
-
-<body class="">
- <header id="page-head">
- <div id="topbar" class="container">
- <div class="row">
- <div class="span2">
- <h1 id="logo"><a href="/" title="99s">99s</a></h1>
- </div>
- <div class="span10">
-
- <div id="side-header">
- <nav>
- <ul>
- <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
- <li><a title="Watch my talks" href="/talks">Talks</a></li>
- <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
- <li><a title="Request my services" href="/services">Consulting & Training</a></li>
- </ul>
- </nav>
- <ul id="social">
- <li>
- <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
- </li>
- <li>
- <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-
-</header>
-
-<div id="contents" class="two_col">
-<div class="container">
-<div class="row">
-<div id="docs" class="span9 maincol">
-
-<h1 class="lined-header"><span>Limitations</span></h1>
-
-<p>No software is perfect.</p>
-<p>It&apos;s very important, when evaluating and when using a tool, to understand its limitations, so as to avoid making mistakes and wasting valuable time.</p>
-<p>This chapter lists all known limitations of Erlang.mk.</p>
-<h2 id="_erlang_must_be_available">Erlang must be available</h2>
-<p>Currently Erlang.mk requires you to install Erlang beforehand. Installing Erlang is not always easy, particularly if you need a specific version of Erlang for a specific project.</p>
-<p>In addition, the Erlang being used must be in your <code>$PATH</code> before you use Erlang.mk.</p>
-<p>In the future we envision, Erlang.mk could manage the Erlang version you need to use a project. Erlang.mk already does this for running tests when using <code>make ci</code>, so doing this during development is just a step away.</p>
-<h2 id="_spaces_in_path">Spaces in path</h2>
-<p>Erlang.mk will currently not work properly if the path to the project contains spaces. To check if that is the case, use the command <code>pwd</code>.</p>
-<p>This issue is due to how Makefiles work. There might be ways to solve it, we have not given up on it, but it&apos;s very low priority considering how simple the workaround is.</p>
-<h2 id="_dependency_tracking_and_modification_times">Dependency tracking and modification times</h2>
-<p>Erlang source files that depend on other files will have their modification time updated when they need to be recompiled due to a dependency having changed. This could cause some editors to think the file changed when it didn&apos;t.</p>
-<p>Erlang.mk must use this method in order to be able to compile files in one <code>erlc</code> invocation. The benefits greatly outweigh the issue in this case and so there are currently no plans to fix this behavior.</p>
-
-
-
-
-
-
-
-
-
-
-
- <nav style="margin:1em 0">
-
- <a style="float:left" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/updating/">
- Updating Erlang.mk
- </a>
-
-
-
- <a style="float:right" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/app/">
- Building
- </a>
-
- </nav>
-
-
-
-
-</div>
-
-<div class="span3 sidecol">
-
-
-<h3>
- Erlang.mk
- 1
-
- User Guide
-</h3>
-
-<ul>
-
-
-
-</ul>
-
-<h4 id="docs-nav">Navigation</h4>
-
-<h4>Version select</h4>
-<ul>
-
-
-
- <li><a href="/docs/en/erlang.mk/1/guide">1</a></li>
-
-</ul>
-
-<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
-<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
-<input type="hidden" name="cmd" value="_donations">
-<input type="hidden" name="business" value="[email protected]">
-<input type="hidden" name="lc" value="FR">
-<input type="hidden" name="item_name" value="Loic Hoguin">
-<input type="hidden" name="item_number" value="99s">
-<input type="hidden" name="currency_code" value="EUR">
-<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
-</form><p>Recurring payment options are also available via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to cover the recurring expenses like dedicated servers or domain names.</p>
-
-
-
-</div>
-</div>
-</div>
-</div>
-
- <footer>
- <div class="container">
- <div class="row">
- <div class="span6">
- <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
- <nav>
- <ul>
- <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
- </ul>
- </nav>
- </div>
- <div class="span6 credits">
- <p><img src="/img/footer_logo.png"></p>
- <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
- </div>
- </div>
- </div>
- </footer>
-
-
- <script src="/js/custom.js"></script>
- </body>
-</html>
-
-
diff --git a/docs/en/erlang.mk/1/guide/overview.asciidoc b/docs/en/erlang.mk/1/guide/overview.asciidoc
deleted file mode 100644
index 8fa57fe4..00000000
--- a/docs/en/erlang.mk/1/guide/overview.asciidoc
+++ /dev/null
@@ -1,87 +0,0 @@
-[[overview]]
-== Overview
-
-Now that you know how to get started, let's take a look at
-what Erlang.mk can do for you.
-
-=== Building your project
-
-Erlang.mk is first and foremost a build tool. It is especially
-tailored for Erlang developers and follows widely accepted
-practices in the Erlang community.
-
-Erlang.mk will happily build all xref:building[Erlang-specific files]
-you throw at it. Other kinds of files too, like C or C++ code
-when you are working on xref:ports[a NIF or a port driver].
-
-Erlang.mk embraces the concept of xref:deps[source dependencies].
-It can fetch dependency source code using a variety of mechanisms,
-including fetching from Git, Mercurial or SVN.
-
-Erlang.mk will automatically xref:relx[generate releases]
-when applicable. It can also xref:escript[generate escripts].
-
-=== Exploring the package index
-
-Erlang.mk comes with a xref:deps[built-in package index].
-It is built as an extension of the dependency system and is
-meant to be used for discovery purposes.
-
-No package is ever installed, they are only used as dependencies
-and are always project-specific. They can be thought of as a
-shortcut over plain dependencies.
-
-You can get a list of all packages known to Erlang.mk by using
-the `search` target:
-
-[source,bash]
-$ make search
-
-You can also use this target to search across all packages, for
-example to find all packages related to Cowboy:
-
-[source,bash]
-$ make search q=cowboy
-
-=== Generating documentation
-
-Erlang.mk supports _EDoc_ and _Asciidoc_.
-
-xref:edoc[EDoc] generates HTML documentation directly from
-your source code.
-
-While it is convenient, ask yourself: if all the documentation is
-inside the source code, why not just open the source code directly?
-That's where _Asciidoc_ comes in.
-
-The xref:asciidoc[Asciidoc] plugin expects all documentation
-to be separate from source. It will generate HTML, PDF, man pages and
-more from the documentation you write in the 'doc/src/' folder in
-your repository.
-
-=== Running tests
-
-Erlang.mk supports a lot of different testing and static
-analysis tools.
-
-The xref:shell[make shell] command allows you
-to test your project manually. You can automate these
-unit tests with xref:eunit[EUnit] and test
-your entire system with xref:ct[Common Test].
-xref:coverage[Code coverage] can of course
-be enabled during tests.
-
-Erlang.mk comes with features to make your life easier when
-setting up and using xref:ci[Continuous integration].
-
-On the static analysis side of things, Erlang.mk comes with
-support for xref:dialyzer[Dialyzer] and xref:xref[Xref],
-to perform success typing analysis and cross referencing
-of the code.
-
-=== Need more?
-
-Not convinced yet? You can read about xref:why[why you should use Erlang.mk]
-and its xref:history[history]. And if you're still not
-convinced after that, it's OK! The world would be boring if
-everyone agreed on everything all the time.
diff --git a/docs/en/erlang.mk/1/guide/overview/index.html b/docs/en/erlang.mk/1/guide/overview/index.html
deleted file mode 100644
index 7fb97d0c..00000000
--- a/docs/en/erlang.mk/1/guide/overview/index.html
+++ /dev/null
@@ -1,202 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
-
- <title>Nine Nines: Overview</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href="/css/99s.css?r=5" rel="stylesheet">
-
- <link rel="shortcut icon" href="/img/ico/favicon.ico">
- <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
- <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
- <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
-
-
-</head>
-
-
-<body class="">
- <header id="page-head">
- <div id="topbar" class="container">
- <div class="row">
- <div class="span2">
- <h1 id="logo"><a href="/" title="99s">99s</a></h1>
- </div>
- <div class="span10">
-
- <div id="side-header">
- <nav>
- <ul>
- <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
- <li><a title="Watch my talks" href="/talks">Talks</a></li>
- <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
- <li><a title="Request my services" href="/services">Consulting & Training</a></li>
- </ul>
- </nav>
- <ul id="social">
- <li>
- <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
- </li>
- <li>
- <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-
-</header>
-
-<div id="contents" class="two_col">
-<div class="container">
-<div class="row">
-<div id="docs" class="span9 maincol">
-
-<h1 class="lined-header"><span>Overview</span></h1>
-
-<p>Now that you know how to get started, let&apos;s take a look at what Erlang.mk can do for you.</p>
-<h2 id="_building_your_project">Building your project</h2>
-<p>Erlang.mk is first and foremost a build tool. It is especially tailored for Erlang developers and follows widely accepted practices in the Erlang community.</p>
-<p>Erlang.mk will happily build all <a href="../building">Erlang-specific files</a> you throw at it. Other kinds of files too, like C or C++ code when you are working on <a href="../ports">a NIF or a port driver</a>.</p>
-<p>Erlang.mk embraces the concept of <a href="../deps">source dependencies</a>. It can fetch dependency source code using a variety of mechanisms, including fetching from Git, Mercurial or SVN.</p>
-<p>Erlang.mk will automatically <a href="../relx">generate releases</a> when applicable. It can also <a href="../escript">generate escripts</a>.</p>
-<h2 id="_exploring_the_package_index">Exploring the package index</h2>
-<p>Erlang.mk comes with a <a href="../deps">built-in package index</a>. It is built as an extension of the dependency system and is meant to be used for discovery purposes.</p>
-<p>No package is ever installed, they are only used as dependencies and are always project-specific. They can be thought of as a shortcut over plain dependencies.</p>
-<p>You can get a list of all packages known to Erlang.mk by using the <code>search</code> target:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make search</tt></pre>
-</div></div>
-<p>You can also use this target to search across all packages, for example to find all packages related to Cowboy:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make search <font color="#009900">q</font><font color="#990000">=</font>cowboy</tt></pre>
-</div></div>
-<h2 id="_generating_documentation">Generating documentation</h2>
-<p>Erlang.mk supports <em>EDoc</em> and <em>Asciidoc</em>.</p>
-<p><a href="../edoc">EDoc</a> generates HTML documentation directly from your source code.</p>
-<p>While it is convenient, ask yourself: if all the documentation is inside the source code, why not just open the source code directly? That&apos;s where <em>Asciidoc</em> comes in.</p>
-<p>The <a href="../asciidoc">Asciidoc</a> plugin expects all documentation to be separate from source. It will generate HTML, PDF, man pages and more from the documentation you write in the <em>doc/src/</em> folder in your repository.</p>
-<h2 id="_running_tests">Running tests</h2>
-<p>Erlang.mk supports a lot of different testing and static analysis tools.</p>
-<p>The <a href="../shell">make shell</a> command allows you to test your project manually. You can automate these unit tests with <a href="../eunit">EUnit</a> and test your entire system with <a href="../ct">Common Test</a>. <a href="../coverage">Code coverage</a> can of course be enabled during tests.</p>
-<p>Erlang.mk comes with features to make your life easier when setting up and using <a href="../ci">Continuous integration</a>.</p>
-<p>On the static analysis side of things, Erlang.mk comes with support for <a href="../dialyzer">Dialyzer</a> and <a href="../xref">Xref</a>, to perform success typing analysis and cross referencing of the code.</p>
-<h2 id="_need_more">Need more?</h2>
-<p>Not convinced yet? You can read about <a href="../why">why you should use Erlang.mk</a> and its <a href="../history">history</a>. And if you&apos;re still not convinced after that, it&apos;s OK! The world would be boring if everyone agreed on everything all the time.</p>
-
-
-
-
-
-
-
-
-
-
-
- <nav style="margin:1em 0">
-
- <a style="float:left" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/getting_started/">
- Getting started
- </a>
-
-
-
- <a style="float:right" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/updating/">
- Updating Erlang.mk
- </a>
-
- </nav>
-
-
-
-
-</div>
-
-<div class="span3 sidecol">
-
-
-<h3>
- Erlang.mk
- 1
-
- User Guide
-</h3>
-
-<ul>
-
-
-
-</ul>
-
-<h4 id="docs-nav">Navigation</h4>
-
-<h4>Version select</h4>
-<ul>
-
-
-
- <li><a href="/docs/en/erlang.mk/1/guide">1</a></li>
-
-</ul>
-
-<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
-<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
-<input type="hidden" name="cmd" value="_donations">
-<input type="hidden" name="business" value="[email protected]">
-<input type="hidden" name="lc" value="FR">
-<input type="hidden" name="item_name" value="Loic Hoguin">
-<input type="hidden" name="item_number" value="99s">
-<input type="hidden" name="currency_code" value="EUR">
-<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
-</form><p>Recurring payment options are also available via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to cover the recurring expenses like dedicated servers or domain names.</p>
-
-
-
-</div>
-</div>
-</div>
-</div>
-
- <footer>
- <div class="container">
- <div class="row">
- <div class="span6">
- <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
- <nav>
- <ul>
- <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
- </ul>
- </nav>
- </div>
- <div class="span6 credits">
- <p><img src="/img/footer_logo.png"></p>
- <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
- </div>
- </div>
- </div>
- </footer>
-
-
- <script src="/js/custom.js"></script>
- </body>
-</html>
-
-
diff --git a/docs/en/erlang.mk/1/guide/ports.asciidoc b/docs/en/erlang.mk/1/guide/ports.asciidoc
deleted file mode 100644
index 907ee366..00000000
--- a/docs/en/erlang.mk/1/guide/ports.asciidoc
+++ /dev/null
@@ -1,134 +0,0 @@
-[[ports]]
-== NIFs and port drivers
-
-Erlang.mk can not only build Erlang projects, but also the C code
-that some projects come with, like NIFs and port drivers.
-
-There are two ways to build the C code: using a custom Makefile,
-or making Erlang.mk do it directly. The C code will be built
-as needed when you run `make`.
-
-// @todo something for easier bootstrapping
-
-=== C source code location and Erlang environment
-
-The C source code should be located in the '$(C_SRC_DIR)' directory.
-It defaults to 'c_src/'. Should you need to modify it, all you
-need to do is to set the variable in your Makefile before including
-Erlang.mk:
-
-[source,make]
-C_SRC_DIR = $(CURDIR)/my_nif_source
-
-When this directory exists, Erlang.mk will automatically create a
-file named '$(C_SRC_ENV)'. This file defaults to '$(C_SRC_DIR)/env.mk'.
-This can also be changed:
-
-[source,make]
-C_SRC_ENV = $(C_SRC_DIR)/erlang_env.mk
-
-It contains a few variable definitions for the environment used for the build:
-
-`ERTS_INCLUDE_DIR`::
- Path to the ERTS include files ('erl_driver.h', 'erl_nif.h' and more).
-`ERL_INTERFACE_INCLUDE_DIR`::
- Path to the Erl_Interface include files ('ei.h' and related).
-`ERL_INTERFACE_LIB_DIR`::
- Path to the Erl_Interface static libraries.
-
-=== Using a custom Makefile
-
-Erlang.mk will automatically run `make` if it detects a Makefile
-in '$(C_SRC_DIR)/Makefile'.
-
-The Makefile should have at least two targets: a default target
-(which can be anything, for example `all`) which is invoked when
-building the C code, and a `clean` target invoked when cleaning
-it.
-
-You can include the 'env.mk' file to benefit from the Erlang
-environment detection:
-
-[source,make]
-include env.mk
-
-=== Using Erlang.mk directly
-
-You don't need to write a Makefile to build C source code, however.
-Erlang.mk comes with rules to build both shared libraries and
-executables, using the source files it finds in '$(C_SRC_DIR)'.
-
-By default, Erlang.mk will create a shared library. To change
-this and create an executable instead, put this in your Makefile
-before including Erlang.mk:
-
-[source,make]
-C_SRC_TYPE = executable
-
-The generated file name varies depending on the type of project
-you have (shared library or executable) and on the platform you
-build the project on.
-
-For shared libraries, the generated file name will be
-'$(C_SRC_OUTPUT)$(C_SRC_SHARED_EXTENSION)', with the default
-being '$(CURDIR)/priv/$(PROJECT)' followed by the extension:
-`.dll` on Windows, `.so` everywhere else.
-
-For executables, the generated file name is
-'$(C_SRC_OUTPUT)$(C_SRC_EXECUTABLE_EXTENSION)', with the same
-default except for the extension: `.exe` on Windows, and otherwise
-nothing.
-
-Erlang.mk sets appropriate compile and linker flags by default.
-These flags vary depending on the platform, and can of course
-be overriden.
-
-`CC`::
- The compiler to be used.
-`CFLAGS`::
- C compiler flags.
-`CXXFLAGS`::
- C++ compiler flags.
-`LDFLAGS`::
- Linker flags.
-`LDLIBS`::
- Libraries to link against.
-
-The source files are automatically gathered from the contents
-of '$(C_SRC_DIR)'. Erlang.mk looks for '.c', '.C', '.cc' and '.cpp'
-source files. You can define the variable `SOURCES` to manually
-list the files to compile.
-
-=== Propagating compile and linker flags to sub-Makefiles
-
-In some cases it might be necessary to propagate the flags
-you just defined to the sub-Makefiles of your local project.
-You generally can't just export those as this could impact
-the building of dependencies.
-
-Makefiles allow you to export variables for specific targets.
-When doing this, the variables will be exported only when
-this target runs, and not for other targets. It is therefore
-possible to export them when building the C code without
-impacting other build steps.
-
-By adding this to your Makefile all five variables will be
-made available to sub-Makefiles when building C code:
-
-[source,make]
-----
-app-c_src: export CC +=
-app-c_src: export CFLAGS +=
-app-c_src: export CPPFLAGS +=
-app-c_src: export LDFLAGS +=
-app-c_src: export LDLIBS +=
-----
-
-Appending an empty string to the existing value is necessary
-because Makefiles expect an assignment for target-specific
-exports. Alternatively you can set a new value:
-
-[source,make]
-----
-app-c_src: export CFLAGS = -O3
-----
diff --git a/docs/en/erlang.mk/1/guide/ports/index.html b/docs/en/erlang.mk/1/guide/ports/index.html
deleted file mode 100644
index 150ad761..00000000
--- a/docs/en/erlang.mk/1/guide/ports/index.html
+++ /dev/null
@@ -1,257 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
-
- <title>Nine Nines: NIFs and port drivers</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href="/css/99s.css?r=5" rel="stylesheet">
-
- <link rel="shortcut icon" href="/img/ico/favicon.ico">
- <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
- <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
- <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
-
-
-</head>
-
-
-<body class="">
- <header id="page-head">
- <div id="topbar" class="container">
- <div class="row">
- <div class="span2">
- <h1 id="logo"><a href="/" title="99s">99s</a></h1>
- </div>
- <div class="span10">
-
- <div id="side-header">
- <nav>
- <ul>
- <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
- <li><a title="Watch my talks" href="/talks">Talks</a></li>
- <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
- <li><a title="Request my services" href="/services">Consulting & Training</a></li>
- </ul>
- </nav>
- <ul id="social">
- <li>
- <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
- </li>
- <li>
- <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-
-</header>
-
-<div id="contents" class="two_col">
-<div class="container">
-<div class="row">
-<div id="docs" class="span9 maincol">
-
-<h1 class="lined-header"><span>NIFs and port drivers</span></h1>
-
-<p>Erlang.mk can not only build Erlang projects, but also the C code that some projects come with, like NIFs and port drivers.</p>
-<p>There are two ways to build the C code: using a custom Makefile, or making Erlang.mk do it directly. The C code will be built as needed when you run <code>make</code>.</p>
-<!-- @todo something for easier bootstrapping-->
-<h2 id="_c_source_code_location_and_erlang_environment">C source code location and Erlang environment</h2>
-<p>The C source code should be located in the <em>$(C_SRC_DIR)</em> directory. It defaults to <em>c_src/</em>. Should you need to modify it, all you need to do is to set the variable in your Makefile before including Erlang.mk:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">C_SRC_DIR =</font> <font color="#009900">$(CURDIR)</font>/my_nif_source</tt></pre>
-</div></div>
-<p>When this directory exists, Erlang.mk will automatically create a file named <em>$(C_SRC_ENV)</em>. This file defaults to <em>$(C_SRC_DIR)/env.mk</em>. This can also be changed:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">C_SRC_ENV =</font> <font color="#009900">$(C_SRC_DIR)</font>/erlang_env.mk</tt></pre>
-</div></div>
-<p>It contains a few variable definitions for the environment used for the build:</p>
-<dl><dt><code>ERTS_INCLUDE_DIR</code></dt>
-<dd><p>Path to the ERTS include files (<em>erl_driver.h</em>, <em>erl_nif.h</em> and more).</p>
-</dd>
-<dt><code>ERL_INTERFACE_INCLUDE_DIR</code></dt>
-<dd><p>Path to the Erl_Interface include files (<em>ei.h</em> and related).</p>
-</dd>
-<dt><code>ERL_INTERFACE_LIB_DIR</code></dt>
-<dd><p>Path to the Erl_Interface static libraries.</p>
-</dd>
-</dl>
-<h2 id="_using_a_custom_makefile">Using a custom Makefile</h2>
-<p>Erlang.mk will automatically run <code>make</code> if it detects a Makefile in <em>$(C_SRC_DIR)/Makefile</em>.</p>
-<p>The Makefile should have at least two targets: a default target (which can be anything, for example <code>all</code>) which is invoked when building the C code, and a <code>clean</code> target invoked when cleaning it.</p>
-<p>You can include the <em>env.mk</em> file to benefit from the Erlang environment detection:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>include env.mk</tt></pre>
-</div></div>
-<h2 id="_using_erlang_mk_directly">Using Erlang.mk directly</h2>
-<p>You don&apos;t need to write a Makefile to build C source code, however. Erlang.mk comes with rules to build both shared libraries and executables, using the source files it finds in <em>$(C_SRC_DIR)</em>.</p>
-<p>By default, Erlang.mk will create a shared library. To change this and create an executable instead, put this in your Makefile before including Erlang.mk:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">C_SRC_TYPE =</font> executable</tt></pre>
-</div></div>
-<p>The generated file name varies depending on the type of project you have (shared library or executable) and on the platform you build the project on.</p>
-<p>For shared libraries, the generated file name will be <em>$(C_SRC_OUTPUT)$(C_SRC_SHARED_EXTENSION)</em>, with the default being <em>$(CURDIR)/priv/$(PROJECT)</em> followed by the extension: <code>.dll</code> on Windows, <code>.so</code> everywhere else.</p>
-<p>For executables, the generated file name is <em>$(C_SRC_OUTPUT)$(C_SRC_EXECUTABLE_EXTENSION)</em>, with the same default except for the extension: <code>.exe</code> on Windows, and otherwise nothing.</p>
-<p>Erlang.mk sets appropriate compile and linker flags by default. These flags vary depending on the platform, and can of course be overriden.</p>
-<dl><dt><code>CC</code></dt>
-<dd><p>The compiler to be used.</p>
-</dd>
-<dt><code>CFLAGS</code></dt>
-<dd><p>C compiler flags.</p>
-</dd>
-<dt><code>CXXFLAGS</code></dt>
-<dd><p>C++ compiler flags.</p>
-</dd>
-<dt><code>LDFLAGS</code></dt>
-<dd><p>Linker flags.</p>
-</dd>
-<dt><code>LDLIBS</code></dt>
-<dd><p>Libraries to link against.</p>
-</dd>
-</dl>
-<p>The source files are automatically gathered from the contents of <em>$(C_SRC_DIR)</em>. Erlang.mk looks for <em>.c</em>, <em>.C</em>, <em>.cc</em> and <em>.cpp</em> source files. You can define the variable <code>SOURCES</code> to manually list the files to compile.</p>
-<h2 id="_propagating_compile_and_linker_flags_to_sub_makefiles">Propagating compile and linker flags to sub-Makefiles</h2>
-<p>In some cases it might be necessary to propagate the flags you just defined to the sub-Makefiles of your local project. You generally can&apos;t just export those as this could impact the building of dependencies.</p>
-<p>Makefiles allow you to export variables for specific targets. When doing this, the variables will be exported only when this target runs, and not for other targets. It is therefore possible to export them when building the C code without impacting other build steps.</p>
-<p>By adding this to your Makefile all five variables will be made available to sub-Makefiles when building C code:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#990000">app-c_src:</font> <b><font color="#0000FF">export</font></b> CC <font color="#990000">+=</font>
-<font color="#990000">app-c_src:</font> <b><font color="#0000FF">export</font></b> CFLAGS <font color="#990000">+=</font>
-<font color="#990000">app-c_src:</font> <b><font color="#0000FF">export</font></b> CPPFLAGS <font color="#990000">+=</font>
-<font color="#990000">app-c_src:</font> <b><font color="#0000FF">export</font></b> LDFLAGS <font color="#990000">+=</font>
-<font color="#990000">app-c_src:</font> <b><font color="#0000FF">export</font></b> LDLIBS <font color="#990000">+=</font></tt></pre>
-</div></div>
-<p>Appending an empty string to the existing value is necessary because Makefiles expect an assignment for target-specific exports. Alternatively you can set a new value:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#990000">app-c_src:</font> <b><font color="#0000FF">export</font></b> CFLAGS <font color="#990000">=</font> -O<font color="#993399">3</font></tt></pre>
-</div></div>
-
-
-
-
-
-
-
-
-
-
-
- <nav style="margin:1em 0">
-
- <a style="float:left" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/deps/">
- Packages and dependencies
- </a>
-
-
-
- <a style="float:right" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/releases/">
- Releases
- </a>
-
- </nav>
-
-
-
-
-</div>
-
-<div class="span3 sidecol">
-
-
-<h3>
- Erlang.mk
- 1
-
- User Guide
-</h3>
-
-<ul>
-
-
-
-</ul>
-
-<h4 id="docs-nav">Navigation</h4>
-
-<h4>Version select</h4>
-<ul>
-
-
-
- <li><a href="/docs/en/erlang.mk/1/guide">1</a></li>
-
-</ul>
-
-<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
-<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
-<input type="hidden" name="cmd" value="_donations">
-<input type="hidden" name="business" value="[email protected]">
-<input type="hidden" name="lc" value="FR">
-<input type="hidden" name="item_name" value="Loic Hoguin">
-<input type="hidden" name="item_number" value="99s">
-<input type="hidden" name="currency_code" value="EUR">
-<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
-</form><p>Recurring payment options are also available via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to cover the recurring expenses like dedicated servers or domain names.</p>
-
-
-
-</div>
-</div>
-</div>
-</div>
-
- <footer>
- <div class="container">
- <div class="row">
- <div class="span6">
- <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
- <nav>
- <ul>
- <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
- </ul>
- </nav>
- </div>
- <div class="span6 credits">
- <p><img src="/img/footer_logo.png"></p>
- <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
- </div>
- </div>
- </div>
- </footer>
-
-
- <script src="/js/custom.js"></script>
- </body>
-</html>
-
-
diff --git a/docs/en/erlang.mk/1/guide/proper.asciidoc b/docs/en/erlang.mk/1/guide/proper.asciidoc
deleted file mode 100644
index 37fa3d7c..00000000
--- a/docs/en/erlang.mk/1/guide/proper.asciidoc
+++ /dev/null
@@ -1,31 +0,0 @@
-[[proper]]
-== PropEr
-
-https://proper-testing.github.io/[PropEr] is a QuickCheck-like library for
-property-based testing. Erlang.mk automates discovery and checking of
-PropEr properties.
-
-To run all tests (including PropEr):
-
-[source,bash]
-$ make tests
-
-To run all tests and static checks (including PropEr):
-
-[source,bash]
-$ make check
-
-You can also run PropEr separately:
-
-[source,bash]
-$ make proper
-
-To check properties from a single module:
-
-[source,bash]
-$ make proper t=foo_tests
-
-To check a single property:
-
-[source,bash]
-$ make proper t=foo_tests:bar
diff --git a/docs/en/erlang.mk/1/guide/proper/index.html b/docs/en/erlang.mk/1/guide/proper/index.html
deleted file mode 100644
index d0867e47..00000000
--- a/docs/en/erlang.mk/1/guide/proper/index.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
-
- <title>Nine Nines: PropEr</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href="/css/99s.css?r=5" rel="stylesheet">
-
- <link rel="shortcut icon" href="/img/ico/favicon.ico">
- <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
- <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
- <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
-
-
-</head>
-
-
-<body class="">
- <header id="page-head">
- <div id="topbar" class="container">
- <div class="row">
- <div class="span2">
- <h1 id="logo"><a href="/" title="99s">99s</a></h1>
- </div>
- <div class="span10">
-
- <div id="side-header">
- <nav>
- <ul>
- <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
- <li><a title="Watch my talks" href="/talks">Talks</a></li>
- <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
- <li><a title="Request my services" href="/services">Consulting & Training</a></li>
- </ul>
- </nav>
- <ul id="social">
- <li>
- <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
- </li>
- <li>
- <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-
-</header>
-
-<div id="contents" class="two_col">
-<div class="container">
-<div class="row">
-<div id="docs" class="span9 maincol">
-
-<h1 class="lined-header"><span>PropEr</span></h1>
-
-<p><a href="https://proper-testing.github.io/">PropEr</a> is a QuickCheck-like library for property-based testing. Erlang.mk automates discovery and checking of PropEr properties.</p>
-<p>To run all tests (including PropEr):</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make tests</tt></pre>
-</div></div>
-<p>To run all tests and static checks (including PropEr):</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make check</tt></pre>
-</div></div>
-<p>You can also run PropEr separately:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make proper</tt></pre>
-</div></div>
-<p>To check properties from a single module:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make proper <font color="#009900">t</font><font color="#990000">=</font>foo_tests</tt></pre>
-</div></div>
-<p>To check a single property:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make proper <font color="#009900">t</font><font color="#990000">=</font>foo_tests<font color="#990000">:</font>bar</tt></pre>
-</div></div>
-
-
-
-
-
-
-
-
-
-
-
- <nav style="margin:1em 0">
-
- <a style="float:left" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/common_test/">
- Common Test
- </a>
-
-
-
- <a style="float:right" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/triq/">
- Triq
- </a>
-
- </nav>
-
-
-
-
-</div>
-
-<div class="span3 sidecol">
-
-
-<h3>
- Erlang.mk
- 1
-
- User Guide
-</h3>
-
-<ul>
-
-
-
-</ul>
-
-<h4 id="docs-nav">Navigation</h4>
-
-<h4>Version select</h4>
-<ul>
-
-
-
- <li><a href="/docs/en/erlang.mk/1/guide">1</a></li>
-
-</ul>
-
-<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
-<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
-<input type="hidden" name="cmd" value="_donations">
-<input type="hidden" name="business" value="[email protected]">
-<input type="hidden" name="lc" value="FR">
-<input type="hidden" name="item_name" value="Loic Hoguin">
-<input type="hidden" name="item_number" value="99s">
-<input type="hidden" name="currency_code" value="EUR">
-<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
-</form><p>Recurring payment options are also available via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to cover the recurring expenses like dedicated servers or domain names.</p>
-
-
-
-</div>
-</div>
-</div>
-</div>
-
- <footer>
- <div class="container">
- <div class="row">
- <div class="span6">
- <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
- <nav>
- <ul>
- <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
- </ul>
- </nav>
- </div>
- <div class="span6 credits">
- <p><img src="/img/footer_logo.png"></p>
- <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
- </div>
- </div>
- </div>
- </footer>
-
-
- <script src="/js/custom.js"></script>
- </body>
-</html>
-
-
diff --git a/docs/en/erlang.mk/1/guide/releases.asciidoc b/docs/en/erlang.mk/1/guide/releases.asciidoc
deleted file mode 100644
index 68174b30..00000000
--- a/docs/en/erlang.mk/1/guide/releases.asciidoc
+++ /dev/null
@@ -1,195 +0,0 @@
-[[relx]]
-== Releases
-
-Erlang.mk relies on _Relx_ for generating releases. This
-chapter covers the Erlang.mk-specific bits. Consult the
-https://erlware.github.io/relx/[Relx website] for more information.
-
-=== Setup
-
-Erlang.mk will create a release if it detects a Relx configuration
-file in the '$(RELX_CONFIG)' location. This defaults to
-'$(CURDIR)/relx.config'. You can override it by defining
-the variable before including Erlang.mk:
-
-[source,make]
-RELX_CONFIG = $(CURDIR)/webchat.config
-
-It is also possible to have multiple 'relx.config' files.
-For example you might have one for development and one for
-production. You can use conditionals to decide which one
-should be used:
-
-[source,make]
-----
-ifdef PROD
-RELX_CONFIG = $(CURDIR)/relx.prod.config
-else
-RELX_CONFIG = $(CURDIR)/relx.dev.config
-endif
-----
-
-Relx does not need to be installed. Erlang.mk will download
-and build it automatically.
-
-The Relx executable will be saved in the '$(RELX)' file. This
-location defaults to '$(CURDIR)/relx' and can be overriden.
-
-// @todo You can use a custom location by ???
-
-=== Configuration
-
-You can specify additional Relx options using the `RELX_OPTS`
-variable. For example, to enable `dev_mode`:
-
-[source,make]
-RELX_OPTS = -d true
-
-While you can specify the output directory for the release
-in the Relx options directly, Erlang.mk provides a specific
-variable for it: `RELX_OUTPUT_DIR`. It defaults to the '_rel'
-directory. You can also override it:
-
-[source,make]
-RELX_OUTPUT_DIR = /path/to/staging/directory
-
-=== Generating the release
-
-Now that you're all set, all you need to do is generate the
-release. As mentioned before, Erlang.mk will automatically
-generate it when it detects the '$(RELX_CONFIG)' file. This
-means the following command will also build the release:
-
-[source,bash]
-$ make
-
-If you need to generate the release, and only the release,
-the `rel` target can be used:
-
-[source,bash]
-$ make rel
-
-Erlang.mk always generates a tarball alongside the release,
-which can be directly uploaded to a server. The tarball is
-located at `$(RELX_OUTPUT_DIR)/<name>/<name>-<vsn>.tar.gz`.
-
-=== Running the release
-
-Erlang.mk provides a convenience function for running the
-release with one simple command:
-
-[source,bash]
-$ make run
-
-This command will also build the project and generate the
-release if they weren't already. It starts the release in
-_console mode_, meaning you will also have a shell ready to
-use to check things as needed.
-
-=== Upgrading a release
-
-Erlang.mk provides a `relup` target for generating release
-upgrades. Release upgrades allow updating the code and the
-state of a running release without restarting it.
-
-Once your changes are done, you need to update the version
-of the application(s) that will be updated. You also need
-to update the version of the release.
-
-For each application that needs to be updated, an
-http://erlang.org/doc/man/appup.html[appup file]
-must be written. Refer to the Erlang/OTP documentation
-for more details.
-
-For the purpose of this section, assume the initial release
-version was `1`, and the new version is `2`. The name of the
-release will be `example`.
-
-Once all this is done, you can build the tarball for the
-release upgrade:
-
-[source,bash]
-$ make relup
-
-This will create an archive at the root directory of the
-release, `$RELX_OUTPUT_DIR/example/example-2.tar.gz`.
-
-Move the archive to the correct location on the running
-node. From the release's root directory:
-
-[source,bash]
-$ mkdir releases/2/
-$ mv path/to/example-2.tar.gz releases/2/
-
-Finally, upgrade the release:
-
-[source,bash]
-$ bin/example_release upgrade "2/example_release"
-
-Or on Windows:
-
-[source,bash]
-$ bin/example_release.cmd upgrade "2/example_release"
-
-Your release was upgraded!
-
-=== Getting Relx semver value
-
-There is a *workaround* to get the semver value which is
-generated by Relx based on VCS history.
-
-Create a file 'config/version' with only one line inside:
-
-[source,erlang]
-{{ release_version }}
-
-Add/Update the `overlay` section of your `relx.config`:
-
-[source,erlang]
-{overlay, [
- {template, "config/version", "version"}
-]}.
-
-When you run `make rel` it creates the file '$(RELX_OUTPUT_DIR)/example/version'
-which contains the version value generated by Relx.
-
-[source,bash]
-$ cat _rel/app/release
-1.0.0+build.11.ref5612aa0
-
-In your `Makefile` you can use this simple snippet to get the version,
-but please keep in mind that this should depend on the `rel` target:
-
-[source,make]
-$(shell cat $(RELX_OUTPUT_DIR)/$(RELX_REL_NAME)/version)
-
-For example:
-
-[source,make]
-----
-include erlang.mk
-
-APP_VERSION = $(shell cat $(RELX_OUTPUT_DIR)/$(RELX_REL_NAME)/version)
-myrecipe: all
- echo APP_VERSION = $(APP_VERSION)
-----
-
-Would output:
-
-[source,bash]
-----
-$ make myrecipe
-...
-===> Starting relx build process ...
-===> Resolving OTP Applications from directories:
- /home/username/example/apps
- /home/username/example/deps
- /usr/lib/erlang/lib
- /home/username/example/_rel
-===> Resolved example-0.3.10+build.11.ref5612aa0
-===> Including Erts from /usr/lib/erlang
-===> release successfully created!
-===> tarball /home/username/example/_rel/example/example-0.3.10+build.11.ref5612aa0.tar.gz successfully created!
-echo APP_VERSION = 0.3.10+build.11.ref5612aa0
-APP_VERSION = 0.3.10+build.11.ref5612aa0
-----
diff --git a/docs/en/erlang.mk/1/guide/releases/index.html b/docs/en/erlang.mk/1/guide/releases/index.html
deleted file mode 100644
index bdf91e4b..00000000
--- a/docs/en/erlang.mk/1/guide/releases/index.html
+++ /dev/null
@@ -1,330 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
-
- <title>Nine Nines: Releases</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href="/css/99s.css?r=5" rel="stylesheet">
-
- <link rel="shortcut icon" href="/img/ico/favicon.ico">
- <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
- <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
- <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
-
-
-</head>
-
-
-<body class="">
- <header id="page-head">
- <div id="topbar" class="container">
- <div class="row">
- <div class="span2">
- <h1 id="logo"><a href="/" title="99s">99s</a></h1>
- </div>
- <div class="span10">
-
- <div id="side-header">
- <nav>
- <ul>
- <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
- <li><a title="Watch my talks" href="/talks">Talks</a></li>
- <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
- <li><a title="Request my services" href="/services">Consulting & Training</a></li>
- </ul>
- </nav>
- <ul id="social">
- <li>
- <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
- </li>
- <li>
- <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-
-</header>
-
-<div id="contents" class="two_col">
-<div class="container">
-<div class="row">
-<div id="docs" class="span9 maincol">
-
-<h1 class="lined-header"><span>Releases</span></h1>
-
-<p>Erlang.mk relies on <em>Relx</em> for generating releases. This chapter covers the Erlang.mk-specific bits. Consult the <a href="https://erlware.github.io/relx/">Relx website</a> for more information.</p>
-<h2 id="_setup">Setup</h2>
-<p>Erlang.mk will create a release if it detects a Relx configuration file in the <em>$(RELX_CONFIG)</em> location. This defaults to <em>$(CURDIR)/relx.config</em>. You can override it by defining the variable before including Erlang.mk:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">RELX_CONFIG =</font> <font color="#009900">$(CURDIR)</font>/webchat.config</tt></pre>
-</div></div>
-<p>It is also possible to have multiple <em>relx.config</em> files. For example you might have one for development and one for production. You can use conditionals to decide which one should be used:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>ifdef PROD
-<font color="#009900">RELX_CONFIG =</font> <font color="#009900">$(CURDIR)</font>/relx.prod.config
-<b><font color="#0000FF">else</font></b>
-<font color="#009900">RELX_CONFIG =</font> <font color="#009900">$(CURDIR)</font>/relx.dev.config
-endif</tt></pre>
-</div></div>
-<p>Relx does not need to be installed. Erlang.mk will download and build it automatically.</p>
-<p>The Relx executable will be saved in the <em>$(RELX)</em> file. This location defaults to <em>$(CURDIR)/relx</em> and can be overriden.</p>
-<!-- @todo You can use a custom location by ???-->
-<h2 id="_configuration">Configuration</h2>
-<p>You can specify additional Relx options using the <code>RELX_OPTS</code> variable. For example, to enable <code>dev_mode</code>:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">RELX_OPTS =</font> -d <b><font color="#0000FF">true</font></b></tt></pre>
-</div></div>
-<p>While you can specify the output directory for the release in the Relx options directly, Erlang.mk provides a specific variable for it: <code>RELX_OUTPUT_DIR</code>. It defaults to the <em>_rel</em> directory. You can also override it:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">RELX_OUTPUT_DIR =</font> /path/to/staging/directory</tt></pre>
-</div></div>
-<h2 id="_generating_the_release">Generating the release</h2>
-<p>Now that you&apos;re all set, all you need to do is generate the release. As mentioned before, Erlang.mk will automatically generate it when it detects the <em>$(RELX_CONFIG)</em> file. This means the following command will also build the release:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make</tt></pre>
-</div></div>
-<p>If you need to generate the release, and only the release, the <code>rel</code> target can be used:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make rel</tt></pre>
-</div></div>
-<p>Erlang.mk always generates a tarball alongside the release, which can be directly uploaded to a server. The tarball is located at <code>$(RELX_OUTPUT_DIR)/&lt;name&gt;/&lt;name&gt;-&lt;vsn&gt;.tar.gz</code>.</p>
-<h2 id="_running_the_release">Running the release</h2>
-<p>Erlang.mk provides a convenience function for running the release with one simple command:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make run</tt></pre>
-</div></div>
-<p>This command will also build the project and generate the release if they weren&apos;t already. It starts the release in <em>console mode</em>, meaning you will also have a shell ready to use to check things as needed.</p>
-<h2 id="_upgrading_a_release">Upgrading a release</h2>
-<p>Erlang.mk provides a <code>relup</code> target for generating release upgrades. Release upgrades allow updating the code and the state of a running release without restarting it.</p>
-<p>Once your changes are done, you need to update the version of the application(s) that will be updated. You also need to update the version of the release.</p>
-<p>For each application that needs to be updated, an <a href="http://erlang.org/doc/man/appup.html">appup file</a> must be written. Refer to the Erlang/OTP documentation for more details.</p>
-<p>For the purpose of this section, assume the initial release version was <code>1</code>, and the new version is <code>2</code>. The name of the release will be <code>example</code>.</p>
-<p>Once all this is done, you can build the tarball for the release upgrade:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make relup</tt></pre>
-</div></div>
-<p>This will create an archive at the root directory of the release, <code>$RELX_OUTPUT_DIR/example/example-2.tar.gz</code>.</p>
-<p>Move the archive to the correct location on the running node. From the release&apos;s root directory:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ mkdir releases<font color="#990000">/</font><font color="#993399">2</font><font color="#990000">/</font>
-$ mv path/to/example-<font color="#993399">2</font><font color="#990000">.</font>tar<font color="#990000">.</font>gz releases<font color="#990000">/</font><font color="#993399">2</font><font color="#990000">/</font></tt></pre>
-</div></div>
-<p>Finally, upgrade the release:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ bin/example_release upgrade <font color="#FF0000">"2/example_release"</font></tt></pre>
-</div></div>
-<p>Or on Windows:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ bin/example_release<font color="#990000">.</font>cmd upgrade <font color="#FF0000">"2/example_release"</font></tt></pre>
-</div></div>
-<p>Your release was upgraded!</p>
-<h2 id="_getting_relx_semver_value">Getting Relx semver value</h2>
-<p>There is a <strong>workaround</strong> to get the semver value which is generated by Relx based on VCS history.</p>
-<p>Create a file <em>config/version</em> with only one line inside:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>{{ <font color="#FF6600">release_version</font> }}</tt></pre>
-</div></div>
-<p>Add/Update the <code>overlay</code> section of your <code>relx.config</code>:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>{<font color="#FF6600">overlay</font>, [
- {<font color="#FF6600">template</font>, <font color="#FF0000">"config/version"</font>, <font color="#FF0000">"version"</font>}
-]}<font color="#990000">.</font></tt></pre>
-</div></div>
-<p>When you run <code>make rel</code> it creates the file <em>$(RELX_OUTPUT_DIR)/example/version</em> which contains the version value generated by Relx.</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ cat _rel/app/release
-<font color="#993399">1.0</font><font color="#990000">.</font><font color="#993399">0</font><font color="#990000">+</font>build<font color="#990000">.</font><font color="#993399">11</font><font color="#990000">.</font>ref5612aa0</tt></pre>
-</div></div>
-<p>In your <code>Makefile</code> you can use this simple snippet to get the version, but please keep in mind that this should depend on the <code>rel</code> target:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">$(</font>shell cat <font color="#009900">$(RELX_OUTPUT_DIR)/$(RELX_REL_NAME)/version)</font></tt></pre>
-</div></div>
-<p>For example:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>include erlang.mk
-
-<font color="#009900">APP_VERSION =</font> <font color="#009900">$(</font>shell cat <font color="#009900">$(RELX_OUTPUT_DIR)/$(RELX_REL_NAME)/version)</font>
-<font color="#990000">myrecipe:</font> all
- echo APP_VERSION <font color="#990000">=</font> <font color="#009900">$(APP_VERSION)</font></tt></pre>
-</div></div>
-<p>Would output:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make myrecipe
-<font color="#990000">...</font>
-<font color="#990000">===&gt;</font> Starting relx build process <font color="#990000">...</font>
-<font color="#990000">===&gt;</font> Resolving OTP Applications from directories<font color="#990000">:</font>
- /home/username/example/apps
- /home/username/example/deps
- /usr/lib/erlang/lib
- /home/username/example<font color="#990000">/</font>_rel
-<font color="#990000">===&gt;</font> Resolved example-<font color="#993399">0.3</font><font color="#990000">.</font><font color="#993399">10</font><font color="#990000">+</font>build<font color="#990000">.</font><font color="#993399">11</font><font color="#990000">.</font>ref5612aa0
-<font color="#990000">===&gt;</font> Including Erts from /usr/lib/erlang
-<font color="#990000">===&gt;</font> release successfully created<font color="#990000">!</font>
-<font color="#990000">===&gt;</font> tarball /home/username/example<font color="#990000">/</font>_rel/example/example-<font color="#993399">0.3</font><font color="#990000">.</font><font color="#993399">10</font><font color="#990000">+</font>build<font color="#990000">.</font><font color="#993399">11</font><font color="#990000">.</font>ref5612aa0<font color="#990000">.</font>tar<font color="#990000">.</font>gz successfully created<font color="#990000">!</font>
-echo APP_VERSION <font color="#990000">=</font> <font color="#993399">0.3</font><font color="#990000">.</font><font color="#993399">10</font><font color="#990000">+</font>build<font color="#990000">.</font><font color="#993399">11</font><font color="#990000">.</font>ref5612aa0
-APP_VERSION <font color="#990000">=</font> <font color="#993399">0.3</font><font color="#990000">.</font><font color="#993399">10</font><font color="#990000">+</font>build<font color="#990000">.</font><font color="#993399">11</font><font color="#990000">.</font>ref5612aa0</tt></pre>
-</div></div>
-
-
-
-
-
-
-
-
-
-
-
- <nav style="margin:1em 0">
-
- <a style="float:left" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/ports/">
- NIFs and port drivers
- </a>
-
-
-
- <a style="float:right" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/sfx/">
- Self-extracting releases
- </a>
-
- </nav>
-
-
-
-
-</div>
-
-<div class="span3 sidecol">
-
-
-<h3>
- Erlang.mk
- 1
-
- User Guide
-</h3>
-
-<ul>
-
-
-
-</ul>
-
-<h4 id="docs-nav">Navigation</h4>
-
-<h4>Version select</h4>
-<ul>
-
-
-
- <li><a href="/docs/en/erlang.mk/1/guide">1</a></li>
-
-</ul>
-
-<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
-<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
-<input type="hidden" name="cmd" value="_donations">
-<input type="hidden" name="business" value="[email protected]">
-<input type="hidden" name="lc" value="FR">
-<input type="hidden" name="item_name" value="Loic Hoguin">
-<input type="hidden" name="item_number" value="99s">
-<input type="hidden" name="currency_code" value="EUR">
-<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
-</form><p>Recurring payment options are also available via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to cover the recurring expenses like dedicated servers or domain names.</p>
-
-
-
-</div>
-</div>
-</div>
-</div>
-
- <footer>
- <div class="container">
- <div class="row">
- <div class="span6">
- <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
- <nav>
- <ul>
- <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
- </ul>
- </nav>
- </div>
- <div class="span6 credits">
- <p><img src="/img/footer_logo.png"></p>
- <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
- </div>
- </div>
- </div>
- </footer>
-
-
- <script src="/js/custom.js"></script>
- </body>
-</html>
-
-
diff --git a/docs/en/erlang.mk/1/guide/sfx.asciidoc b/docs/en/erlang.mk/1/guide/sfx.asciidoc
deleted file mode 100644
index aae2c8d4..00000000
--- a/docs/en/erlang.mk/1/guide/sfx.asciidoc
+++ /dev/null
@@ -1,49 +0,0 @@
-[[sfx]]
-== Self-extracting releases
-
-Erlang.mk allows you to package xref:relx[Relx releases] as
-self-extracting archives. These archives contain all the
-files in the release and come in the form of a script that
-will extract and run the release automatically.
-
-This allows you to package the release as a single file
-that can then be executed.
-
-This feature is currently experimental. Feedback is much
-appreciated.
-
-=== Generating the self-extracting archive
-
-To generate a self-extracting release, all you need to do
-is pass the `SFX=1` variable to Make when you build the
-release:
-
-[source,bash]
-$ make SFX=1
-
-This will create a self-extracting archive in
-`$RELX_OUTPUT_DIR/<name>.run`. For example if the release
-is named `hello_world` and `$RELX_OUTPUT_DIR` is the default,
-the file will be located at `_rel/hello_world.run`.
-
-=== Running the release
-
-Simply execute the script to get started:
-
-[source,bash]
-----
-$ ./_rel/hello_world.run
-Exec: /tmp/tmp.3eeEq7E1ta/erts-8.1/bin/erlexec ...
-Root: /tmp/tmp.3eeEq7E1ta
-/tmp/tmp.3eeEq7E1ta
-Erlang/OTP 19 [erts-8.1] [source] [64-bit] [smp:4:4] ...
-
-Eshell V8.1 (abort with ^G)
-(hello_world@localhost)1>
-----
-
-As you can see the archive is extracted to a temporary
-directory before the release can be started.
-
-The self-extracting script currently only supports starting
-the release in `console` mode.
diff --git a/docs/en/erlang.mk/1/guide/sfx/index.html b/docs/en/erlang.mk/1/guide/sfx/index.html
deleted file mode 100644
index f86cc70a..00000000
--- a/docs/en/erlang.mk/1/guide/sfx/index.html
+++ /dev/null
@@ -1,196 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
-
- <title>Nine Nines: Self-extracting releases</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href="/css/99s.css?r=5" rel="stylesheet">
-
- <link rel="shortcut icon" href="/img/ico/favicon.ico">
- <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
- <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
- <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
-
-
-</head>
-
-
-<body class="">
- <header id="page-head">
- <div id="topbar" class="container">
- <div class="row">
- <div class="span2">
- <h1 id="logo"><a href="/" title="99s">99s</a></h1>
- </div>
- <div class="span10">
-
- <div id="side-header">
- <nav>
- <ul>
- <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
- <li><a title="Watch my talks" href="/talks">Talks</a></li>
- <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
- <li><a title="Request my services" href="/services">Consulting & Training</a></li>
- </ul>
- </nav>
- <ul id="social">
- <li>
- <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
- </li>
- <li>
- <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-
-</header>
-
-<div id="contents" class="two_col">
-<div class="container">
-<div class="row">
-<div id="docs" class="span9 maincol">
-
-<h1 class="lined-header"><span>Self-extracting releases</span></h1>
-
-<p>Erlang.mk allows you to package <a href="../relx">Relx releases</a> as self-extracting archives. These archives contain all the files in the release and come in the form of a script that will extract and run the release automatically.</p>
-<p>This allows you to package the release as a single file that can then be executed.</p>
-<p>This feature is currently experimental. Feedback is much appreciated.</p>
-<h2 id="_generating_the_self_extracting_archive">Generating the self-extracting archive</h2>
-<p>To generate a self-extracting release, all you need to do is pass the <code>SFX=1</code> variable to Make when you build the release:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make <font color="#009900">SFX</font><font color="#990000">=</font><font color="#993399">1</font></tt></pre>
-</div></div>
-<p>This will create a self-extracting archive in <code>$RELX_OUTPUT_DIR/&lt;name&gt;.run</code>. For example if the release is named <code>hello_world</code> and <code>$RELX_OUTPUT_DIR</code> is the default, the file will be located at <code>_rel/hello_world.run</code>.</p>
-<h2 id="_running_the_release">Running the release</h2>
-<p>Simply execute the script to get started:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ <font color="#990000">./</font>_rel/hello_world<font color="#990000">.</font>run
-Exec<font color="#990000">:</font> /tmp/tmp<font color="#990000">.</font>3eeEq7E1ta/erts-<font color="#993399">8.1</font>/bin/erlexec <font color="#990000">...</font>
-Root<font color="#990000">:</font> /tmp/tmp<font color="#990000">.</font>3eeEq7E1ta
-/tmp/tmp<font color="#990000">.</font>3eeEq7E1ta
-Erlang/OTP <font color="#993399">19</font> <font color="#990000">[</font>erts-<font color="#993399">8.1</font><font color="#990000">]</font> <font color="#990000">[</font><b><font color="#0000FF">source</font></b><font color="#990000">]</font> <font color="#990000">[</font><font color="#993399">64</font>-bit<font color="#990000">]</font> <font color="#990000">[</font>smp<font color="#990000">:</font><font color="#993399">4</font><font color="#990000">:</font><font color="#993399">4</font><font color="#990000">]</font> <font color="#990000">...</font>
-
-Eshell V8<font color="#990000">.</font><font color="#993399">1</font> <font color="#990000">(</font>abort with <font color="#990000">^</font>G<font color="#990000">)</font>
-<font color="#990000">(</font>hello_world@localhost<font color="#990000">)</font><font color="#993399">1</font><font color="#990000">&gt;</font></tt></pre>
-</div></div>
-<p>As you can see the archive is extracted to a temporary directory before the release can be started.</p>
-<p>The self-extracting script currently only supports starting the release in <code>console</code> mode.</p>
-
-
-
-
-
-
-
-
-
-
-
- <nav style="margin:1em 0">
-
- <a style="float:left" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/releases/">
- Releases
- </a>
-
-
-
- <a style="float:right" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/escripts/">
- Escripts
- </a>
-
- </nav>
-
-
-
-
-</div>
-
-<div class="span3 sidecol">
-
-
-<h3>
- Erlang.mk
- 1
-
- User Guide
-</h3>
-
-<ul>
-
-
-
-</ul>
-
-<h4 id="docs-nav">Navigation</h4>
-
-<h4>Version select</h4>
-<ul>
-
-
-
- <li><a href="/docs/en/erlang.mk/1/guide">1</a></li>
-
-</ul>
-
-<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
-<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
-<input type="hidden" name="cmd" value="_donations">
-<input type="hidden" name="business" value="[email protected]">
-<input type="hidden" name="lc" value="FR">
-<input type="hidden" name="item_name" value="Loic Hoguin">
-<input type="hidden" name="item_number" value="99s">
-<input type="hidden" name="currency_code" value="EUR">
-<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
-</form><p>Recurring payment options are also available via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to cover the recurring expenses like dedicated servers or domain names.</p>
-
-
-
-</div>
-</div>
-</div>
-</div>
-
- <footer>
- <div class="container">
- <div class="row">
- <div class="span6">
- <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
- <nav>
- <ul>
- <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
- </ul>
- </nav>
- </div>
- <div class="span6 credits">
- <p><img src="/img/footer_logo.png"></p>
- <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
- </div>
- </div>
- </div>
- </footer>
-
-
- <script src="/js/custom.js"></script>
- </body>
-</html>
-
-
diff --git a/docs/en/erlang.mk/1/guide/shell.asciidoc b/docs/en/erlang.mk/1/guide/shell.asciidoc
deleted file mode 100644
index 5484b9df..00000000
--- a/docs/en/erlang.mk/1/guide/shell.asciidoc
+++ /dev/null
@@ -1,50 +0,0 @@
-[[shell]]
-== Erlang shell
-
-Erlang.mk provides a convenient target for starting a shell
-with all the paths set properly to experiment with your code.
-
-=== Configuration
-
-The `SHELL_DEPS` variable can be used to define dependencies
-that are only to be used when the `make shell` command is called.
-For example, if you want to use _kjell_ as your shell:
-
-[source,make]
-SHELL_DEPS = kjell
-
-Dependencies are downloaded and compiled the first time you
-run the `make shell` command.
-
-You can customize the executable used to start the Erlang shell.
-To continue with our example, if you want to use _kjell_ as your
-shell, you also need to change `SHELL_ERL` and point it to the
-`kjell` executable:
-
-[source,make]
-SHELL_ERL = $(DEPS_DIR)/kjell/bin/kjell
-
-You can specify additional options to be used when starting the
-shell using the `SHELL_OPTS` variable:
-
-[source,make]
-SHELL_OPTS = -setcookie chocolate
-
-Any of the usual `erl` options can be used, including `-eval`:
-
-[source,make]
-SHELL_OPTS = -eval 'my_app:run()'
-
-=== Usage
-
-To start the shell, all you need is the following command:
-
-[source,bash]
-$ make shell
-
-The shell can be stopped as usual with a double Ctrl+C or the
-command `q().`.
-
-Note that the `shell` target does not build the application. To do it,
-use either the `app` target or, if you want to include also test
-modules, the `test-build` target. \ No newline at end of file
diff --git a/docs/en/erlang.mk/1/guide/shell/index.html b/docs/en/erlang.mk/1/guide/shell/index.html
deleted file mode 100644
index 8579328f..00000000
--- a/docs/en/erlang.mk/1/guide/shell/index.html
+++ /dev/null
@@ -1,208 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
-
- <title>Nine Nines: Erlang shell</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href="/css/99s.css?r=5" rel="stylesheet">
-
- <link rel="shortcut icon" href="/img/ico/favicon.ico">
- <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
- <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
- <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
-
-
-</head>
-
-
-<body class="">
- <header id="page-head">
- <div id="topbar" class="container">
- <div class="row">
- <div class="span2">
- <h1 id="logo"><a href="/" title="99s">99s</a></h1>
- </div>
- <div class="span10">
-
- <div id="side-header">
- <nav>
- <ul>
- <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
- <li><a title="Watch my talks" href="/talks">Talks</a></li>
- <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
- <li><a title="Request my services" href="/services">Consulting & Training</a></li>
- </ul>
- </nav>
- <ul id="social">
- <li>
- <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
- </li>
- <li>
- <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-
-</header>
-
-<div id="contents" class="two_col">
-<div class="container">
-<div class="row">
-<div id="docs" class="span9 maincol">
-
-<h1 class="lined-header"><span>Erlang shell</span></h1>
-
-<p>Erlang.mk provides a convenient target for starting a shell with all the paths set properly to experiment with your code.</p>
-<h2 id="_configuration">Configuration</h2>
-<p>The <code>SHELL_DEPS</code> variable can be used to define dependencies that are only to be used when the <code>make shell</code> command is called. For example, if you want to use <em>kjell</em> as your shell:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">SHELL_DEPS =</font> kjell</tt></pre>
-</div></div>
-<p>Dependencies are downloaded and compiled the first time you run the <code>make shell</code> command.</p>
-<p>You can customize the executable used to start the Erlang shell. To continue with our example, if you want to use <em>kjell</em> as your shell, you also need to change <code>SHELL_ERL</code> and point it to the <code>kjell</code> executable:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">SHELL_ERL =</font> <font color="#009900">$(DEPS_DIR)</font>/kjell/bin/kjell</tt></pre>
-</div></div>
-<p>You can specify additional options to be used when starting the shell using the <code>SHELL_OPTS</code> variable:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">SHELL_OPTS =</font> -setcookie chocolate</tt></pre>
-</div></div>
-<p>Any of the usual <code>erl</code> options can be used, including <code>-eval</code>:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">SHELL_OPTS =</font> -eval <font color="#FF0000">'my_app:run()'</font></tt></pre>
-</div></div>
-<h2 id="_usage">Usage</h2>
-<p>To start the shell, all you need is the following command:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make shell</tt></pre>
-</div></div>
-<p>The shell can be stopped as usual with a double Ctrl+C or the command <code>q().</code>.</p>
-<p>Note that the <code>shell</code> target does not build the application. To do it, use either the <code>app</code> target or, if you want to include also test modules, the <code>test-build</code> target.</p>
-
-
-
-
-
-
-
-
-
-
-
- <nav style="margin:1em 0">
-
- <a style="float:left" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/sphinx/">
- Sphinx documentation
- </a>
-
-
-
- <a style="float:right" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/eunit/">
- EUnit
- </a>
-
- </nav>
-
-
-
-
-</div>
-
-<div class="span3 sidecol">
-
-
-<h3>
- Erlang.mk
- 1
-
- User Guide
-</h3>
-
-<ul>
-
-
-
-</ul>
-
-<h4 id="docs-nav">Navigation</h4>
-
-<h4>Version select</h4>
-<ul>
-
-
-
- <li><a href="/docs/en/erlang.mk/1/guide">1</a></li>
-
-</ul>
-
-<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
-<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
-<input type="hidden" name="cmd" value="_donations">
-<input type="hidden" name="business" value="[email protected]">
-<input type="hidden" name="lc" value="FR">
-<input type="hidden" name="item_name" value="Loic Hoguin">
-<input type="hidden" name="item_number" value="99s">
-<input type="hidden" name="currency_code" value="EUR">
-<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
-</form><p>Recurring payment options are also available via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to cover the recurring expenses like dedicated servers or domain names.</p>
-
-
-
-</div>
-</div>
-</div>
-</div>
-
- <footer>
- <div class="container">
- <div class="row">
- <div class="span6">
- <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
- <nav>
- <ul>
- <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
- </ul>
- </nav>
- </div>
- <div class="span6 credits">
- <p><img src="/img/footer_logo.png"></p>
- <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
- </div>
- </div>
- </div>
- </footer>
-
-
- <script src="/js/custom.js"></script>
- </body>
-</html>
-
-
diff --git a/docs/en/erlang.mk/1/guide/sphinx.asciidoc b/docs/en/erlang.mk/1/guide/sphinx.asciidoc
deleted file mode 100644
index d4de20dd..00000000
--- a/docs/en/erlang.mk/1/guide/sphinx.asciidoc
+++ /dev/null
@@ -1,129 +0,0 @@
-[[sphinx]]
-== Sphinx documentation
-
-Erlang.mk includes targets for running the
-http://www.sphinx-doc.org/[Sphinx documentation generator], which can produce
-documentation in various formats, like HTML, man pages, Texinfo, LaTeX, and
-others.
-
-=== Writing Sphinx documentation
-
-Sphinx generates documentation from a set of
-http://www.sphinx-doc.org/en/stable/rest.html[reST] documents. There is
-a http://www.sphinx-doc.org/en/stable/tutorial.html[quick start guide] on
-Sphinx' website. For Erlang.mk, we'll set up a minimal environment instead.
-
-=== Basic setup
-
-By default, Erlang.mk expects Sphinx documentation to be placed in the 'doc'
-directory, with 'doc/conf.py' config file in particular. The file contains
-information about the project, among the other things.
-
-A minimal 'doc/conf.py' will look similar to this:
-
-[source,python]
-----
-project = 'My Project'
-version = '0.0'
-release = '0.0.1'
-master_doc = 'index'
-source_suffix = '.rst'
-----
-
-It points to a 'doc/index.rst' document. A simple skeleton includes a table of
-contents for all documentation, and links to generated index of terms and
-a search page:
-
-----
-My Project
-==========
-
-Contents:
-
-.. toctree::
- :maxdepth: 2
-
- other_page
-
-Indices and tables
-==================
-
-* :ref:`genindex`
-* :ref:`search`
-----
-
-The skeleton above has a link to one other page, 'doc/other_page.rst'. Simple
-header with some text will do for now:
-
-----
-Other Page
-==========
-
-Lorem ipsum dolor sit amet...
-----
-
-The files above are enough to build HTML documentation to the 'html' directory.
-
-[source,bash]
-$ make docs # all the docs, including EDoc and AsciiDoc if applicable
-$ make sphinx # Sphinx docs specifically
-
-=== Erlang.mk configuration
-
-Erlang.mk defaults to the following configuration:
-
-[source,make]
-SPHINX_FORMATS = html
-SPHINX_SOURCE = doc
-
-To change the location of Sphinx sources, you need to set the `$(SPHINX_SOURCE)`
-variable. The 'conf.py' file should also be placed in that directory, unless you
-specify `$(SPHINX_CONFDIR)`.
-
-The variable `$(SPHINX_OPTS)` allows to provide options to `sphinx-build`, which
-is particularly useful for `-D name=value` options. You can even forego
-'doc/conf.py' file, using `-D name=value` in combination with the `-C` option,
-though in this case you will need to manually call `make sphinx` or add the
-`sphinx` target to dependencies of `docs`.
-
-The `$(SPHINX_FORMATS)` variable lists formats to generate. By default only HTML
-is generated, but it can also build man pages or LaTeX documents which can later
-be converted to PDF. See the
-http://www.sphinx-doc.org/en/stable/invocation.html#cmdoption-sphinx-build-b[description of the `-b` option]
-for `sphinx-build` for a list of known formats.
-
-Formats are by default generated to a directory called after the format
-('html' for HTML, 'man' for man pages, and so on). To change this behaviour
-for a specific format, you can set the `$(sphinx_$(format)_output)` variable, e.g.
-`$(sphinx_html_output)` for 'html' or `$(sphinx_man_output)` for 'man'.
-There are also `$(sphinx_$(format)_opts)` variables for setting `sphinx-build`
-options for a single format only.
-
-=== Generating man pages
-
-To generate man pages, you need to include `man` in `$(SPHINX_FORMATS)` in
-your Makefile and define the `man_pages` option in 'doc/conf.py':
-
-[source,python]
-----
-man_pages = [
- ('doc_name', 'page_name', 'Manpage Title', ['Page Author'], 1),
-]
-----
-
-As the
-http://www.sphinx-doc.org/en/stable/config.html#options-for-manual-page-output[Sphinx documentation]
-indicates, the structure is:
-
-* `doc_name` is the path to the man page's source (relative `$(SPHINX_SOURCE)`),
- without the '.rst' suffix
-* `page_name` is the name of the resulting man page, which will be used as a base
- for the output file name and will be included in the generated man page
-* `Manpage Title` is a short, one-line description, which will be included in
- the generated man page on a position that's used by the `apropos` command
-* `Page Author` (or more of them) will be included in the autogenerated `AUTHOR`
- section. Leaving this field empty disables generating the `AUTHOR` section
-* `1` is the man page section number
-
-With the above configuration (and Erlang.mk's defaults), 'doc/doc_name.rst' will
-be used to generate 'man/page_name.1'.
diff --git a/docs/en/erlang.mk/1/guide/sphinx/index.html b/docs/en/erlang.mk/1/guide/sphinx/index.html
deleted file mode 100644
index 7226b594..00000000
--- a/docs/en/erlang.mk/1/guide/sphinx/index.html
+++ /dev/null
@@ -1,234 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
-
- <title>Nine Nines: Sphinx documentation</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href="/css/99s.css?r=5" rel="stylesheet">
-
- <link rel="shortcut icon" href="/img/ico/favicon.ico">
- <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
- <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
- <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
-
-
-</head>
-
-
-<body class="">
- <header id="page-head">
- <div id="topbar" class="container">
- <div class="row">
- <div class="span2">
- <h1 id="logo"><a href="/" title="99s">99s</a></h1>
- </div>
- <div class="span10">
-
- <div id="side-header">
- <nav>
- <ul>
- <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
- <li><a title="Watch my talks" href="/talks">Talks</a></li>
- <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
- <li><a title="Request my services" href="/services">Consulting & Training</a></li>
- </ul>
- </nav>
- <ul id="social">
- <li>
- <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
- </li>
- <li>
- <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-
-</header>
-
-<div id="contents" class="two_col">
-<div class="container">
-<div class="row">
-<div id="docs" class="span9 maincol">
-
-<h1 class="lined-header"><span>Sphinx documentation</span></h1>
-
-<p>Erlang.mk includes targets for running the <a href="http://www.sphinx-doc.org/">Sphinx documentation generator</a>, which can produce documentation in various formats, like HTML, man pages, Texinfo, LaTeX, and others.</p>
-<h2 id="_writing_sphinx_documentation">Writing Sphinx documentation</h2>
-<p>Sphinx generates documentation from a set of <a href="http://www.sphinx-doc.org/en/stable/rest.html">reST</a> documents. There is a <a href="http://www.sphinx-doc.org/en/stable/tutorial.html">quick start guide</a> on Sphinx&apos; website. For Erlang.mk, we&apos;ll set up a minimal environment instead.</p>
-<h2 id="_basic_setup">Basic setup</h2>
-<p>By default, Erlang.mk expects Sphinx documentation to be placed in the <em>doc</em> directory, with <em>doc/conf.py</em> config file in particular. The file contains information about the project, among the other things.</p>
-<p>A minimal <em>doc/conf.py</em> will look similar to this:</p>
-<div class="listingblock"><div class="content">source-highlight: could not find a language definition for python
-</div></div>
-<p>It points to a <em>doc/index.rst</em> document. A simple skeleton includes a table of contents for all documentation, and links to generated index of terms and a search page:</p>
-<div class="listingblock"><div class="content"><pre>My Project
-==========
-
-Contents:
-
-.. toctree::
- :maxdepth: 2
-
- other_page
-
-Indices and tables
-==================
-
-* :ref:`genindex`
-* :ref:`search`</pre></div></div>
-<p>The skeleton above has a link to one other page, <em>doc/other_page.rst</em>. Simple header with some text will do for now:</p>
-<div class="listingblock"><div class="content"><pre>Other Page
-==========
-
-Lorem ipsum dolor sit amet...</pre></div></div>
-<p>The files above are enough to build HTML documentation to the <em>html</em> directory.</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make docs <i><font color="#9A1900"># all the docs, including EDoc and AsciiDoc if applicable</font></i>
-$ make sphinx <i><font color="#9A1900"># Sphinx docs specifically</font></i></tt></pre>
-</div></div>
-<h2 id="_erlang_mk_configuration">Erlang.mk configuration</h2>
-<p>Erlang.mk defaults to the following configuration:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt><font color="#009900">SPHINX_FORMATS =</font> html
-<font color="#009900">SPHINX_SOURCE =</font> doc</tt></pre>
-</div></div>
-<p>To change the location of Sphinx sources, you need to set the <code>$(SPHINX_SOURCE)</code> variable. The <em>conf.py</em> file should also be placed in that directory, unless you specify <code>$(SPHINX_CONFDIR)</code>.</p>
-<p>The variable <code>$(SPHINX_OPTS)</code> allows to provide options to <code>sphinx-build</code>, which is particularly useful for <code>-D name=value</code> options. You can even forego <em>doc/conf.py</em> file, using <code>-D name=value</code> in combination with the <code>-C</code> option, though in this case you will need to manually call <code>make sphinx</code> or add the <code>sphinx</code> target to dependencies of <code>docs</code>.</p>
-<p>The <code>$(SPHINX_FORMATS)</code> variable lists formats to generate. By default only HTML is generated, but it can also build man pages or LaTeX documents which can later be converted to PDF. See the <a href="http://www.sphinx-doc.org/en/stable/invocation.html#cmdoption-sphinx-build-b">description of the `-b` option</a> for <code>sphinx-build</code> for a list of known formats.</p>
-<p>Formats are by default generated to a directory called after the format (<em>html</em> for HTML, <em>man</em> for man pages, and so on). To change this behaviour for a specific format, you can set the <code>$(sphinx_$(format)_output)</code> variable, e.g. <code>$(sphinx_html_output)</code> for <em>html</em> or <code>$(sphinx_man_output)</code> for <em>man</em>. There are also <code>$(sphinx_$(format)_opts)</code> variables for setting <code>sphinx-build</code> options for a single format only.</p>
-<h2 id="_generating_man_pages">Generating man pages</h2>
-<p>To generate man pages, you need to include <code>man</code> in <code>$(SPHINX_FORMATS)</code> in your Makefile and define the <code>man_pages</code> option in <em>doc/conf.py</em>:</p>
-<div class="listingblock"><div class="content">source-highlight: could not find a language definition for python
-</div></div>
-<p>As the <a href="http://www.sphinx-doc.org/en/stable/config.html#options-for-manual-page-output">Sphinx documentation</a> indicates, the structure is:</p>
-<ul><li><code>doc_name</code> is the path to the man page&apos;s source (relative <code>$(SPHINX_SOURCE)</code>), without the <em>.rst</em> suffix
-</li>
-<li><code>page_name</code> is the name of the resulting man page, which will be used as a base for the output file name and will be included in the generated man page
-</li>
-<li><code>Manpage Title</code> is a short, one-line description, which will be included in the generated man page on a position that&apos;s used by the <code>apropos</code> command
-</li>
-<li><code>Page Author</code> (or more of them) will be included in the autogenerated <code>AUTHOR</code> section. Leaving this field empty disables generating the <code>AUTHOR</code> section
-</li>
-<li><code>1</code> is the man page section number
-</li>
-</ul>
-<p>With the above configuration (and Erlang.mk&apos;s defaults), <em>doc/doc_name.rst</em> will be used to generate <em>man/page_name.1</em>.</p>
-
-
-
-
-
-
-
-
-
-
-
- <nav style="margin:1em 0">
-
- <a style="float:left" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/edoc/">
- EDoc comments
- </a>
-
-
-
- <a style="float:right" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/shell/">
- Erlang shell
- </a>
-
- </nav>
-
-
-
-
-</div>
-
-<div class="span3 sidecol">
-
-
-<h3>
- Erlang.mk
- 1
-
- User Guide
-</h3>
-
-<ul>
-
-
-
-</ul>
-
-<h4 id="docs-nav">Navigation</h4>
-
-<h4>Version select</h4>
-<ul>
-
-
-
- <li><a href="/docs/en/erlang.mk/1/guide">1</a></li>
-
-</ul>
-
-<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
-<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
-<input type="hidden" name="cmd" value="_donations">
-<input type="hidden" name="business" value="[email protected]">
-<input type="hidden" name="lc" value="FR">
-<input type="hidden" name="item_name" value="Loic Hoguin">
-<input type="hidden" name="item_number" value="99s">
-<input type="hidden" name="currency_code" value="EUR">
-<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
-</form><p>Recurring payment options are also available via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to cover the recurring expenses like dedicated servers or domain names.</p>
-
-
-
-</div>
-</div>
-</div>
-</div>
-
- <footer>
- <div class="container">
- <div class="row">
- <div class="span6">
- <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
- <nav>
- <ul>
- <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
- </ul>
- </nav>
- </div>
- <div class="span6 credits">
- <p><img src="/img/footer_logo.png"></p>
- <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
- </div>
- </div>
- </div>
- </footer>
-
-
- <script src="/js/custom.js"></script>
- </body>
-</html>
-
-
diff --git a/docs/en/erlang.mk/1/guide/triq.asciidoc b/docs/en/erlang.mk/1/guide/triq.asciidoc
deleted file mode 100644
index db698600..00000000
--- a/docs/en/erlang.mk/1/guide/triq.asciidoc
+++ /dev/null
@@ -1,31 +0,0 @@
-[[triq]]
-== Triq
-
-https://triq.gitlab.io/[Triq] is a QuickCheck-like library for
-property-based testing. Erlang.mk automates discovery and checking of
-Triq properties.
-
-To run all tests (including Triq):
-
-[source,bash]
-$ make tests
-
-To run all tests and static checks (including Triq):
-
-[source,bash]
-$ make check
-
-You can also run Triq separately:
-
-[source,bash]
-$ make triq
-
-To check properties from a single module:
-
-[source,bash]
-$ make triq t=foo_tests
-
-To check a single property:
-
-[source,bash]
-$ make triq t=foo_tests:bar
diff --git a/docs/en/erlang.mk/1/guide/triq/index.html b/docs/en/erlang.mk/1/guide/triq/index.html
deleted file mode 100644
index 50fb7efb..00000000
--- a/docs/en/erlang.mk/1/guide/triq/index.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
-
- <title>Nine Nines: Triq</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href="/css/99s.css?r=5" rel="stylesheet">
-
- <link rel="shortcut icon" href="/img/ico/favicon.ico">
- <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
- <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
- <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
-
-
-</head>
-
-
-<body class="">
- <header id="page-head">
- <div id="topbar" class="container">
- <div class="row">
- <div class="span2">
- <h1 id="logo"><a href="/" title="99s">99s</a></h1>
- </div>
- <div class="span10">
-
- <div id="side-header">
- <nav>
- <ul>
- <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
- <li><a title="Watch my talks" href="/talks">Talks</a></li>
- <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
- <li><a title="Request my services" href="/services">Consulting & Training</a></li>
- </ul>
- </nav>
- <ul id="social">
- <li>
- <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
- </li>
- <li>
- <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-
-</header>
-
-<div id="contents" class="two_col">
-<div class="container">
-<div class="row">
-<div id="docs" class="span9 maincol">
-
-<h1 class="lined-header"><span>Triq</span></h1>
-
-<p><a href="https://triq.gitlab.io/">Triq</a> is a QuickCheck-like library for property-based testing. Erlang.mk automates discovery and checking of Triq properties.</p>
-<p>To run all tests (including Triq):</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make tests</tt></pre>
-</div></div>
-<p>To run all tests and static checks (including Triq):</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make check</tt></pre>
-</div></div>
-<p>You can also run Triq separately:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make triq</tt></pre>
-</div></div>
-<p>To check properties from a single module:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make triq <font color="#009900">t</font><font color="#990000">=</font>foo_tests</tt></pre>
-</div></div>
-<p>To check a single property:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make triq <font color="#009900">t</font><font color="#990000">=</font>foo_tests<font color="#990000">:</font>bar</tt></pre>
-</div></div>
-
-
-
-
-
-
-
-
-
-
-
- <nav style="margin:1em 0">
-
- <a style="float:left" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/proper/">
- PropEr
- </a>
-
-
-
- <a style="float:right" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/coverage/">
- Code coverage
- </a>
-
- </nav>
-
-
-
-
-</div>
-
-<div class="span3 sidecol">
-
-
-<h3>
- Erlang.mk
- 1
-
- User Guide
-</h3>
-
-<ul>
-
-
-
-</ul>
-
-<h4 id="docs-nav">Navigation</h4>
-
-<h4>Version select</h4>
-<ul>
-
-
-
- <li><a href="/docs/en/erlang.mk/1/guide">1</a></li>
-
-</ul>
-
-<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
-<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
-<input type="hidden" name="cmd" value="_donations">
-<input type="hidden" name="business" value="[email protected]">
-<input type="hidden" name="lc" value="FR">
-<input type="hidden" name="item_name" value="Loic Hoguin">
-<input type="hidden" name="item_number" value="99s">
-<input type="hidden" name="currency_code" value="EUR">
-<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
-</form><p>Recurring payment options are also available via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to cover the recurring expenses like dedicated servers or domain names.</p>
-
-
-
-</div>
-</div>
-</div>
-</div>
-
- <footer>
- <div class="container">
- <div class="row">
- <div class="span6">
- <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
- <nav>
- <ul>
- <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
- </ul>
- </nav>
- </div>
- <div class="span6 credits">
- <p><img src="/img/footer_logo.png"></p>
- <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
- </div>
- </div>
- </div>
- </footer>
-
-
- <script src="/js/custom.js"></script>
- </body>
-</html>
-
-
diff --git a/docs/en/erlang.mk/1/guide/updating.asciidoc b/docs/en/erlang.mk/1/guide/updating.asciidoc
deleted file mode 100644
index f96fed8d..00000000
--- a/docs/en/erlang.mk/1/guide/updating.asciidoc
+++ /dev/null
@@ -1,85 +0,0 @@
-[[updating]]
-== Updating Erlang.mk
-
-This chapter describes how to update the 'erlang.mk' file
-in your repository.
-
-=== Initial bootstrap
-
-The first time you use Erlang.mk, it will bootstrap itself.
-It always uses the most recent version for this, so you don't
-have to update after creating your project.
-
-=== Updating
-
-Later on though, updating becomes a necessity. Erlang.mk
-developers and contributors relentlessly improve the project
-and add new features; it would be a waste not to benefit
-from this.
-
-That's why updating Erlang.mk is so simple. All you need
-to do is to call `make erlang-mk`:
-
-[source,bash]
-----
-$ make erlang-mk
-git clone https://github.com/ninenines/erlang.mk .erlang.mk.build
-Cloning into '.erlang.mk.build'...
-remote: Counting objects: 4035, done.
-remote: Compressing objects: 100% (12/12), done.
-remote: Total 4035 (delta 8), reused 4 (delta 4), pack-reused 4019
-Receiving objects: 100% (4035/4035), 1.10 MiB | 1000.00 KiB/s, done.
-Resolving deltas: 100% (2442/2442), done.
-Checking connectivity... done.
-if [ -f build.config ]; then cp build.config .erlang.mk.build; fi
-cd .erlang.mk.build && make
-make[1]: Entering directory '/home/essen/tmp/emkg/hello_joe/.erlang.mk.build'
-awk 'FNR==1 && NR!=1{print ""}1' core/core.mk index/*.mk core/index.mk core/deps.mk plugins/protobuffs.mk core/erlc.mk core/docs.mk core/test.mk plugins/asciidoc.mk plugins/bootstrap.mk plugins/c_src.mk plugins/ci.mk plugins/ct.mk plugins/dialyzer.mk plugins/edoc.mk plugins/elvis.mk plugins/erlydtl.mk plugins/escript.mk plugins/eunit.mk plugins/relx.mk plugins/shell.mk plugins/triq.mk plugins/xref.mk plugins/cover.mk \
- | sed 's/^ERLANG_MK_VERSION = .*/ERLANG_MK_VERSION = 1.2.0-642-gccd2b9f/' > erlang.mk
-make[1]: Leaving directory '/home/essen/tmp/emkg/hello_joe/.erlang.mk.build'
-cp .erlang.mk.build/erlang.mk ./erlang.mk
-rm -rf .erlang.mk.build
-----
-
-All that's left to do is to commit the file!
-
-Yep, it's that easy.
-
-=== Customizing the build
-
-Erlang.mk allows you to customize which components are to be included
-in the 'erlang.mk' file. The `WITHOUT` variable allows you to
-remove components from the default Erlang.mk build. The 'build.config'
-file lets you define exactly what goes in (including your own code!),
-and in what order.
-
-The `WITHOUT` file contains the list of components to exclude from
-the build. For example, to exclude the package index and the EDoc
-plugin when bootstrapping your application:
-
-[source,bash]
-$ make -f erlang.mk bootstrap WITHOUT="index plugins/edoc"
-
-The generated Erlang.mk will never include those components when
-you update it, until you change your mind and use the `WITHOUT`
-variable again when you upgrade:
-
-[source,bash]
-$ make erlang-mk WITHOUT=index
-
-The 'build.config' file is automatically used when you bootstrap
-Erlang.mk or when you update it with `make erlang-mk`.
-
-The 'build.config' file contains the list of all files that will
-be built into the resulting 'erlang.mk' file. You can start from
-the https://github.com/ninenines/erlang.mk/blob/master/build.config[most recent version]
-and customize to your needs.
-
-You can also name the file differently or put it in a separate folder
-by modifying the value for `ERLANG_MK_BUILD_CONFIG`. You can also
-tell Erlang.mk to use a different temporary directory by changing
-the `ERLANG_MK_BUILD_DIR` variable.
-
-If you want to use a different repository or a specific commit for
-updating, you may use the variables `ERLANG_MK_REPO` and
-`ERLANG_MK_COMMIT`.
diff --git a/docs/en/erlang.mk/1/guide/updating/index.html b/docs/en/erlang.mk/1/guide/updating/index.html
deleted file mode 100644
index ff945845..00000000
--- a/docs/en/erlang.mk/1/guide/updating/index.html
+++ /dev/null
@@ -1,217 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
-
- <title>Nine Nines: Updating Erlang.mk</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href="/css/99s.css?r=5" rel="stylesheet">
-
- <link rel="shortcut icon" href="/img/ico/favicon.ico">
- <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
- <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
- <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
-
-
-</head>
-
-
-<body class="">
- <header id="page-head">
- <div id="topbar" class="container">
- <div class="row">
- <div class="span2">
- <h1 id="logo"><a href="/" title="99s">99s</a></h1>
- </div>
- <div class="span10">
-
- <div id="side-header">
- <nav>
- <ul>
- <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
- <li><a title="Watch my talks" href="/talks">Talks</a></li>
- <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
- <li><a title="Request my services" href="/services">Consulting & Training</a></li>
- </ul>
- </nav>
- <ul id="social">
- <li>
- <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
- </li>
- <li>
- <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-
-</header>
-
-<div id="contents" class="two_col">
-<div class="container">
-<div class="row">
-<div id="docs" class="span9 maincol">
-
-<h1 class="lined-header"><span>Updating Erlang.mk</span></h1>
-
-<p>This chapter describes how to update the <em>erlang.mk</em> file in your repository.</p>
-<h2 id="_initial_bootstrap">Initial bootstrap</h2>
-<p>The first time you use Erlang.mk, it will bootstrap itself. It always uses the most recent version for this, so you don&apos;t have to update after creating your project.</p>
-<h2 id="_updating">Updating</h2>
-<p>Later on though, updating becomes a necessity. Erlang.mk developers and contributors relentlessly improve the project and add new features; it would be a waste not to benefit from this.</p>
-<p>That&apos;s why updating Erlang.mk is so simple. All you need to do is to call <code>make erlang-mk</code>:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make erlang-mk
-git clone https<font color="#990000">:</font>//github<font color="#990000">.</font>com/ninenines/erlang<font color="#990000">.</font>mk <font color="#990000">.</font>erlang<font color="#990000">.</font>mk<font color="#990000">.</font>build
-Cloning into <font color="#FF0000">'.erlang.mk.build'</font><font color="#990000">...</font>
-remote<font color="#990000">:</font> Counting objects<font color="#990000">:</font> <font color="#993399">4035</font><font color="#990000">,</font> <b><font color="#0000FF">done</font></b><font color="#990000">.</font>
-remote<font color="#990000">:</font> Compressing objects<font color="#990000">:</font> <font color="#993399">100</font><font color="#990000">%</font> <font color="#990000">(</font><font color="#993399">12</font><font color="#990000">/</font><font color="#993399">12</font><font color="#990000">),</font> <b><font color="#0000FF">done</font></b><font color="#990000">.</font>
-remote<font color="#990000">:</font> Total <font color="#993399">4035</font> <font color="#990000">(</font>delta <font color="#993399">8</font><font color="#990000">),</font> reused <font color="#993399">4</font> <font color="#990000">(</font>delta <font color="#993399">4</font><font color="#990000">),</font> pack-reused <font color="#993399">4019</font>
-Receiving objects<font color="#990000">:</font> <font color="#993399">100</font><font color="#990000">%</font> <font color="#990000">(</font><font color="#993399">4035</font><font color="#990000">/</font><font color="#993399">4035</font><font color="#990000">),</font> <font color="#993399">1.10</font> MiB <font color="#990000">|</font> <font color="#993399">1000.00</font> KiB/s<font color="#990000">,</font> <b><font color="#0000FF">done</font></b><font color="#990000">.</font>
-Resolving deltas<font color="#990000">:</font> <font color="#993399">100</font><font color="#990000">%</font> <font color="#990000">(</font><font color="#993399">2442</font><font color="#990000">/</font><font color="#993399">2442</font><font color="#990000">),</font> <b><font color="#0000FF">done</font></b><font color="#990000">.</font>
-Checking connectivity<font color="#990000">...</font> <b><font color="#0000FF">done</font></b><font color="#990000">.</font>
-<b><font color="#0000FF">if</font></b> <font color="#990000">[</font> -f build<font color="#990000">.</font>config <font color="#990000">];</font> <b><font color="#0000FF">then</font></b> cp build<font color="#990000">.</font>config <font color="#990000">.</font>erlang<font color="#990000">.</font>mk<font color="#990000">.</font>build<font color="#990000">;</font> <b><font color="#0000FF">fi</font></b>
-cd <font color="#990000">.</font>erlang<font color="#990000">.</font>mk<font color="#990000">.</font>build <font color="#990000">&amp;&amp;</font> make
-make<font color="#990000">[</font><font color="#993399">1</font><font color="#990000">]:</font> Entering directory <font color="#FF0000">'/home/essen/tmp/emkg/hello_joe/.erlang.mk.build'</font>
-awk <font color="#FF0000">'FNR==1 &amp;&amp; NR!=1{print ""}1'</font> core/core<font color="#990000">.</font>mk index<font color="#990000">/*.</font>mk core/index<font color="#990000">.</font>mk core/deps<font color="#990000">.</font>mk plugins/protobuffs<font color="#990000">.</font>mk core/erlc<font color="#990000">.</font>mk core/docs<font color="#990000">.</font>mk core/test<font color="#990000">.</font>mk plugins/asciidoc<font color="#990000">.</font>mk plugins/bootstrap<font color="#990000">.</font>mk plugins/c_src<font color="#990000">.</font>mk plugins/ci<font color="#990000">.</font>mk plugins/ct<font color="#990000">.</font>mk plugins/dialyzer<font color="#990000">.</font>mk plugins/edoc<font color="#990000">.</font>mk plugins/elvis<font color="#990000">.</font>mk plugins/erlydtl<font color="#990000">.</font>mk plugins/escript<font color="#990000">.</font>mk plugins/eunit<font color="#990000">.</font>mk plugins/relx<font color="#990000">.</font>mk plugins/shell<font color="#990000">.</font>mk plugins/triq<font color="#990000">.</font>mk plugins/xref<font color="#990000">.</font>mk plugins/cover<font color="#990000">.</font>mk <font color="#990000">\</font>
- <font color="#990000">|</font> sed <font color="#FF0000">'s/^ERLANG_MK_VERSION = .*/ERLANG_MK_VERSION = 1.2.0-642-gccd2b9f/'</font> <font color="#990000">&gt;</font> erlang<font color="#990000">.</font>mk
-make<font color="#990000">[</font><font color="#993399">1</font><font color="#990000">]:</font> Leaving directory <font color="#FF0000">'/home/essen/tmp/emkg/hello_joe/.erlang.mk.build'</font>
-cp <font color="#990000">.</font>erlang<font color="#990000">.</font>mk<font color="#990000">.</font>build/erlang<font color="#990000">.</font>mk <font color="#990000">.</font>/erlang<font color="#990000">.</font>mk
-rm -rf <font color="#990000">.</font>erlang<font color="#990000">.</font>mk<font color="#990000">.</font>build</tt></pre>
-</div></div>
-<p>All that&apos;s left to do is to commit the file!</p>
-<p>Yep, it&apos;s that easy.</p>
-<h2 id="_customizing_the_build">Customizing the build</h2>
-<p>Erlang.mk allows you to customize which components are to be included in the <em>erlang.mk</em> file. The <code>WITHOUT</code> variable allows you to remove components from the default Erlang.mk build. The <em>build.config</em> file lets you define exactly what goes in (including your own code!), and in what order.</p>
-<p>The <code>WITHOUT</code> file contains the list of components to exclude from the build. For example, to exclude the package index and the EDoc plugin when bootstrapping your application:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make -f erlang<font color="#990000">.</font>mk bootstrap <font color="#009900">WITHOUT</font><font color="#990000">=</font><font color="#FF0000">"index plugins/edoc"</font></tt></pre>
-</div></div>
-<p>The generated Erlang.mk will never include those components when you update it, until you change your mind and use the <code>WITHOUT</code> variable again when you upgrade:</p>
-<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>$ make erlang-mk <font color="#009900">WITHOUT</font><font color="#990000">=</font>index</tt></pre>
-</div></div>
-<p>The <em>build.config</em> file is automatically used when you bootstrap Erlang.mk or when you update it with <code>make erlang-mk</code>.</p>
-<p>The <em>build.config</em> file contains the list of all files that will be built into the resulting <em>erlang.mk</em> file. You can start from the <a href="https://github.com/ninenines/erlang.mk/blob/master/build.config">most recent version</a> and customize to your needs.</p>
-<p>You can also name the file differently or put it in a separate folder by modifying the value for <code>ERLANG_MK_BUILD_CONFIG</code>. You can also tell Erlang.mk to use a different temporary directory by changing the <code>ERLANG_MK_BUILD_DIR</code> variable.</p>
-<p>If you want to use a different repository or a specific commit for updating, you may use the variables <code>ERLANG_MK_REPO</code> and <code>ERLANG_MK_COMMIT</code>.</p>
-
-
-
-
-
-
-
-
-
-
-
- <nav style="margin:1em 0">
-
- <a style="float:left" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/overview/">
- Overview
- </a>
-
-
-
- <a style="float:right" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/limitations/">
- Limitations
- </a>
-
- </nav>
-
-
-
-
-</div>
-
-<div class="span3 sidecol">
-
-
-<h3>
- Erlang.mk
- 1
-
- User Guide
-</h3>
-
-<ul>
-
-
-
-</ul>
-
-<h4 id="docs-nav">Navigation</h4>
-
-<h4>Version select</h4>
-<ul>
-
-
-
- <li><a href="/docs/en/erlang.mk/1/guide">1</a></li>
-
-</ul>
-
-<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
-<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
-<input type="hidden" name="cmd" value="_donations">
-<input type="hidden" name="business" value="[email protected]">
-<input type="hidden" name="lc" value="FR">
-<input type="hidden" name="item_name" value="Loic Hoguin">
-<input type="hidden" name="item_number" value="99s">
-<input type="hidden" name="currency_code" value="EUR">
-<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
-</form><p>Recurring payment options are also available via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to cover the recurring expenses like dedicated servers or domain names.</p>
-
-
-
-</div>
-</div>
-</div>
-</div>
-
- <footer>
- <div class="container">
- <div class="row">
- <div class="span6">
- <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
- <nav>
- <ul>
- <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
- </ul>
- </nav>
- </div>
- <div class="span6 credits">
- <p><img src="/img/footer_logo.png"></p>
- <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
- </div>
- </div>
- </div>
- </footer>
-
-
- <script src="/js/custom.js"></script>
- </body>
-</html>
-
-
diff --git a/docs/en/erlang.mk/1/guide/why.asciidoc b/docs/en/erlang.mk/1/guide/why.asciidoc
deleted file mode 100644
index e91b64ca..00000000
--- a/docs/en/erlang.mk/1/guide/why.asciidoc
+++ /dev/null
@@ -1,81 +0,0 @@
-[[why]]
-== Why Erlang.mk
-
-Why would you choose Erlang.mk, if not for its
-xref:overview[many features]? This chapter will
-attempt to answer that.
-
-=== Erlang.mk is fast
-
-Erlang.mk is as fast as it gets.
-
-Erlang.mk will group the compilation of files so as to avoid
-running the BEAM more than necessary. This saves many seconds
-compared to traditional Makefiles, even on small projects.
-
-Erlang.mk will not try to be too smart. It provides a simple
-solution that works for most people, and gives additional
-options for projects that run into edge cases, often in the
-form of extra variables or rules to be defined.
-
-=== Erlang.mk gives you the full power of Unix
-
-Erlang.mk is a Makefile.
-
-You could use Erlang.mk directly without configuring anything
-and it would just work. But you can also extend it greatly
-either through configuration or hooks, and you can of course
-add your own rules to the Makefile.
-
-In all cases: for configuration, hooks or custom rules, you
-have all the power of Unix at your disposal, and can call
-any utility _or even any language interpreter_ you want,
-every time you need to. Erlang.mk also allows you to write
-scripts in this small language called Erlang directly inside
-your Makefile if you ever need to...
-
-=== Erlang.mk is a text file
-
-Erlang.mk is a Makefile.
-
-Which means Erlang.mk is a simple text file. You can edit a
-text file. Nothing stops you. If you run into any bug, or
-behavior that does not suit you, you can just open the
-'erlang.mk' file in your favorite editor, fix and/or comment
-a few lines, save, and try again. It's as simple as it gets.
-
-Currently using a binary build tool? Good luck with that.
-
-=== Erlang.mk can manage Erlang itself
-
-Erlang.mk isn't written in Erlang.
-
-That's not a good thing, you say? Well, here's one thing
-that Erlang.mk and Makefiles can do for you that Erlang
-build tool can't easily: choose what version of Erlang is
-to be used for compiling the project.
-
-This really is a one-liner in Erlang.mk (a few more lines
-if you also let it download and build Erlang directly)
-and allows for even greater things, like testing your
-project across all supported Erlang versions in one small
-command: `make -k ci`.
-
-=== Erlang.mk can do more than Erlang
-
-Erlang.mk doesn't care what your dependencies are written in.
-
-Erlang.mk will happily compile any dependency, as long as
-they come with a Makefile. The dependency can be written
-in C, C++ or even Javascript... Who cares, really? If you
-need Erlang.mk to fetch it, then Erlang.mk will fetch it
-and compile it as needed.
-
-=== Erlang.mk integrates nicely in Make and Automake projects
-
-If you are planning to put your project in the middle of
-a Make or Automake-based build environment, then the most
-logical thing to do is to use a Makefile.
-
-Erlang.mk will happily sit in such an environment and behave
-as you expect it to.
diff --git a/docs/en/erlang.mk/1/guide/why/index.html b/docs/en/erlang.mk/1/guide/why/index.html
deleted file mode 100644
index 1cd409a3..00000000
--- a/docs/en/erlang.mk/1/guide/why/index.html
+++ /dev/null
@@ -1,190 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
-
- <title>Nine Nines: Why Erlang.mk</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href="/css/99s.css?r=5" rel="stylesheet">
-
- <link rel="shortcut icon" href="/img/ico/favicon.ico">
- <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
- <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
- <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
-
-
-</head>
-
-
-<body class="">
- <header id="page-head">
- <div id="topbar" class="container">
- <div class="row">
- <div class="span2">
- <h1 id="logo"><a href="/" title="99s">99s</a></h1>
- </div>
- <div class="span10">
-
- <div id="side-header">
- <nav>
- <ul>
- <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
- <li><a title="Watch my talks" href="/talks">Talks</a></li>
- <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
- <li><a title="Request my services" href="/services">Consulting & Training</a></li>
- </ul>
- </nav>
- <ul id="social">
- <li>
- <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
- </li>
- <li>
- <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-
-</header>
-
-<div id="contents" class="two_col">
-<div class="container">
-<div class="row">
-<div id="docs" class="span9 maincol">
-
-<h1 class="lined-header"><span>Why Erlang.mk</span></h1>
-
-<p>Why would you choose Erlang.mk, if not for its <a href="../overview">many features</a>? This chapter will attempt to answer that.</p>
-<h2 id="_erlang_mk_is_fast">Erlang.mk is fast</h2>
-<p>Erlang.mk is as fast as it gets.</p>
-<p>Erlang.mk will group the compilation of files so as to avoid running the BEAM more than necessary. This saves many seconds compared to traditional Makefiles, even on small projects.</p>
-<p>Erlang.mk will not try to be too smart. It provides a simple solution that works for most people, and gives additional options for projects that run into edge cases, often in the form of extra variables or rules to be defined.</p>
-<h2 id="_erlang_mk_gives_you_the_full_power_of_unix">Erlang.mk gives you the full power of Unix</h2>
-<p>Erlang.mk is a Makefile.</p>
-<p>You could use Erlang.mk directly without configuring anything and it would just work. But you can also extend it greatly either through configuration or hooks, and you can of course add your own rules to the Makefile.</p>
-<p>In all cases: for configuration, hooks or custom rules, you have all the power of Unix at your disposal, and can call any utility <em>or even any language interpreter</em> you want, every time you need to. Erlang.mk also allows you to write scripts in this small language called Erlang directly inside your Makefile if you ever need to...</p>
-<h2 id="_erlang_mk_is_a_text_file">Erlang.mk is a text file</h2>
-<p>Erlang.mk is a Makefile.</p>
-<p>Which means Erlang.mk is a simple text file. You can edit a text file. Nothing stops you. If you run into any bug, or behavior that does not suit you, you can just open the <em>erlang.mk</em> file in your favorite editor, fix and/or comment a few lines, save, and try again. It&apos;s as simple as it gets.</p>
-<p>Currently using a binary build tool? Good luck with that.</p>
-<h2 id="_erlang_mk_can_manage_erlang_itself">Erlang.mk can manage Erlang itself</h2>
-<p>Erlang.mk isn&apos;t written in Erlang.</p>
-<p>That&apos;s not a good thing, you say? Well, here&apos;s one thing that Erlang.mk and Makefiles can do for you that Erlang build tool can&apos;t easily: choose what version of Erlang is to be used for compiling the project.</p>
-<p>This really is a one-liner in Erlang.mk (a few more lines if you also let it download and build Erlang directly) and allows for even greater things, like testing your project across all supported Erlang versions in one small command: <code>make -k ci</code>.</p>
-<h2 id="_erlang_mk_can_do_more_than_erlang">Erlang.mk can do more than Erlang</h2>
-<p>Erlang.mk doesn&apos;t care what your dependencies are written in.</p>
-<p>Erlang.mk will happily compile any dependency, as long as they come with a Makefile. The dependency can be written in C, C++ or even Javascript... Who cares, really? If you need Erlang.mk to fetch it, then Erlang.mk will fetch it and compile it as needed.</p>
-<h2 id="_erlang_mk_integrates_nicely_in_make_and_automake_projects">Erlang.mk integrates nicely in Make and Automake projects</h2>
-<p>If you are planning to put your project in the middle of a Make or Automake-based build environment, then the most logical thing to do is to use a Makefile.</p>
-<p>Erlang.mk will happily sit in such an environment and behave as you expect it to.</p>
-
-
-
-
-
-
-
-
-
-
-
- <nav style="margin:1em 0">
-
- <a style="float:left" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/external_plugins_list/">
- List of plugins
- </a>
-
-
-
- <a style="float:right" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/history/">
- Short history
- </a>
-
- </nav>
-
-
-
-
-</div>
-
-<div class="span3 sidecol">
-
-
-<h3>
- Erlang.mk
- 1
-
- User Guide
-</h3>
-
-<ul>
-
-
-
-</ul>
-
-<h4 id="docs-nav">Navigation</h4>
-
-<h4>Version select</h4>
-<ul>
-
-
-
- <li><a href="/docs/en/erlang.mk/1/guide">1</a></li>
-
-</ul>
-
-<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
-<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
-<input type="hidden" name="cmd" value="_donations">
-<input type="hidden" name="business" value="[email protected]">
-<input type="hidden" name="lc" value="FR">
-<input type="hidden" name="item_name" value="Loic Hoguin">
-<input type="hidden" name="item_number" value="99s">
-<input type="hidden" name="currency_code" value="EUR">
-<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
-</form><p>Recurring payment options are also available via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to cover the recurring expenses like dedicated servers or domain names.</p>
-
-
-
-</div>
-</div>
-</div>
-</div>
-
- <footer>
- <div class="container">
- <div class="row">
- <div class="span6">
- <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
- <nav>
- <ul>
- <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
- </ul>
- </nav>
- </div>
- <div class="span6 credits">
- <p><img src="/img/footer_logo.png"></p>
- <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
- </div>
- </div>
- </div>
- </footer>
-
-
- <script src="/js/custom.js"></script>
- </body>
-</html>
-
-
diff --git a/docs/en/erlang.mk/1/guide/xref.asciidoc b/docs/en/erlang.mk/1/guide/xref.asciidoc
deleted file mode 100644
index 44ed1908..00000000
--- a/docs/en/erlang.mk/1/guide/xref.asciidoc
+++ /dev/null
@@ -1,6 +0,0 @@
-[[xref]]
-== Xref
-
-// @todo Write it.
-
-Placeholder chapter.
diff --git a/docs/en/erlang.mk/1/guide/xref/index.html b/docs/en/erlang.mk/1/guide/xref/index.html
deleted file mode 100644
index 88fd8d89..00000000
--- a/docs/en/erlang.mk/1/guide/xref/index.html
+++ /dev/null
@@ -1,169 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
-
- <title>Nine Nines: Xref</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href="/css/99s.css?r=5" rel="stylesheet">
-
- <link rel="shortcut icon" href="/img/ico/favicon.ico">
- <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
- <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
- <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
-
-
-</head>
-
-
-<body class="">
- <header id="page-head">
- <div id="topbar" class="container">
- <div class="row">
- <div class="span2">
- <h1 id="logo"><a href="/" title="99s">99s</a></h1>
- </div>
- <div class="span10">
-
- <div id="side-header">
- <nav>
- <ul>
- <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
- <li><a title="Watch my talks" href="/talks">Talks</a></li>
- <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
- <li><a title="Request my services" href="/services">Consulting & Training</a></li>
- </ul>
- </nav>
- <ul id="social">
- <li>
- <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
- </li>
- <li>
- <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-
-</header>
-
-<div id="contents" class="two_col">
-<div class="container">
-<div class="row">
-<div id="docs" class="span9 maincol">
-
-<h1 class="lined-header"><span>Xref</span></h1>
-
-<!-- @todo Write it.-->
-<p>Placeholder chapter.</p>
-
-
-
-
-
-
-
-
-
-
-
- <nav style="margin:1em 0">
-
- <a style="float:left" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/dialyzer/">
- Dialyzer
- </a>
-
-
-
- <a style="float:right" href="https://ninenines.eu/docs/en/erlang.mk/1/guide/external_plugins/">
- External plugins
- </a>
-
- </nav>
-
-
-
-
-</div>
-
-<div class="span3 sidecol">
-
-
-<h3>
- Erlang.mk
- 1
-
- User Guide
-</h3>
-
-<ul>
-
-
-
-</ul>
-
-<h4 id="docs-nav">Navigation</h4>
-
-<h4>Version select</h4>
-<ul>
-
-
-
- <li><a href="/docs/en/erlang.mk/1/guide">1</a></li>
-
-</ul>
-
-<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
-<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
-<input type="hidden" name="cmd" value="_donations">
-<input type="hidden" name="business" value="[email protected]">
-<input type="hidden" name="lc" value="FR">
-<input type="hidden" name="item_name" value="Loic Hoguin">
-<input type="hidden" name="item_number" value="99s">
-<input type="hidden" name="currency_code" value="EUR">
-<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
-</form><p>Recurring payment options are also available via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to cover the recurring expenses like dedicated servers or domain names.</p>
-
-
-
-</div>
-</div>
-</div>
-</div>
-
- <footer>
- <div class="container">
- <div class="row">
- <div class="span6">
- <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
- <nav>
- <ul>
- <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
- </ul>
- </nav>
- </div>
- <div class="span6 credits">
- <p><img src="/img/footer_logo.png"></p>
- <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
- </div>
- </div>
- </div>
- </footer>
-
-
- <script src="/js/custom.js"></script>
- </body>
-</html>
-
-