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.
By default Erlang.mk expects erl to be in your $PATH.
Installing Erlang is not always easy, particularly if you
need a specific version for a specific project.
You can pin an OTP version with ERLANG_OTP and let
Erlang.mk fetch and build it via Kerl. The same mechanism
is used by make ci. See the OTP version management
chapter.
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.
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.