Age | Commit message (Collapse) | Author |
|
|
|
|
|
This solution should work better, previous one would sometimes
expand incorrectly and fail.
|
|
And use this in the tests to fetch Rebar only once and then
clone from the local repository. This should speed up tests
a little.
|
|
|
|
|
|
|
|
A release that gets removed in a ci:: preceding the running
of CI rules would end up not rebuilding it due to how a
warning was silenced when using ERLANG_OTP.
|
|
|
|
|
|
This allows refreshing tools at the same time Erlang.mk
gets updated.
|
|
V=2 only works against target commands, V=3 will also work
against $(shell ...) commands.
|
|
|
|
Unless it's a symbolic link, it's built directly, FULL=1 is set
or the file ebin/dep_built in the dependency is removed.
See the documentation changes for more details.
This provides immense build speed gains, for example on a
RabbitMQ project it went from 10s to 1s for the 2nd+ builds.
|
|
|
|
For example:
DEPS = elixir
ELIXIR_PATCH = 1
include erlang.mk
A language test suite will soon be added with a test for this.
|
|
The $(...) form was improperly converted. In addition it
must be changed into a $(shell ...) form.
|
|
|
|
Currently experimental. It'll enable lfe.mk when it encounters
the rebar3 plugin lfe-compile. Tested against some small library.
Note that it adds lfe as a build dependency with no version given
so the latest master will be fetched right now. This can be
overriden in the parent project.
|
|
Until it is found that one is needed to compile a project.
|
|
It's better than extending help:: because this gets printed
at the end instead of before Erlang.mk's own help.
|
|
|
|
When this option is used no include file is generated.
Therefore don't error out if no include file can be found.
|
|
|
|
|
|
When the $(MAKE) is inside an $(eval $(call ...)) then it needs
to be escaped as $$(MAKE).
When the $(MAKE) is inside a $(call ...) then I did not figure
out a way other than passing it as an argument.
When the $(MAKE) is inside many levels of $(call $(call ...))
it's easier to avoid it if at all possible, so I replaced the
rebar $(MAKE) call with ./bootstrap. I confirmed it works fine
on Windows as well.
|
|
Also remove the last instance of an "eval export" that pollutes
the environment and use the new core_render for it instead.
core_render does not include $(verbose) as this needs to be
different depending on who calls it. It's now set explicitly
everywhere required.
|
|
Fetching rebar is conditional depending on the project
being built, and if two projects require it and -j is
used this could mean the fetching happens at the same
time and one would fail.
|
|
I've reworked how the multi-apps projects are built. In particular
I've made sure the test build is made from the top-level once, and
then only tests are run on this build. It used to build multiple
times and some builds would not include test mode, not good. I've
also fixed issues with running tests in parallel.
All tests now pass with -j8 on my machine. It's possible more
issues remain that are not covered by tests yet though.
|
|
This avoids the issue where clean will remove a file that was
otherwise generated and won't be regenerated. This might also
help with parallel building.
|
|
It clones and checkouts like the git fetch method, but
does so in the Erlang.mk temporary directory. It then
creates a symbolic link to the subfolder for the dependency.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Also add a missing space character.
|
|
|
|
It's cheap, can be useful to detect issues, so why not?
|
|
|
|
|
|
|
|
|
|
|
|
I need this for CI because I want to run Dialyzer only against
the most recent OTP after tests have passed everywhere. Left
undocumented for now.
[ci skip]
|
|
|
|
|
|
This fixes hackney.
|