-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Description
I'm from C/Erlang background to Elixir world, have an old pure Erlang project which was built based on C/Automake/Autoconf/Makefile as the build tool, for some reason we don't want to maintain the old building way and want to move on, now evaluating rebar/rebar3 or directly move to elixir's mix tool, I created an almost empty mix.exs
structure for erlang app, then mix compile
automatically recognized all my src/*.erl
files and tried to compile all of them; but the problem is this Erlang project is still using some *.hrl
files for Erlang record, in Makefiles we used to call erlc
like a gcc compiler, make by default will show the full command line erlc -I dir/to/hdr_files/ +{parse_transform, ...} ...
for how does it compile, and where it could fail;
this mix tool seems not showing build process at all, I have been reading all the mix documentation for 3 days and asked questions in #2665 still can't figure out how to pass in compiler options, neither I found any debugability for mix tool, I've tried mix -h
mix --help
mix help
all are showing a list of available commands, mix -v
mix --verbose
the -v
shows mix --version
actually, I don't see anywhere documenting it; is there a full reference for all available mix command line switches?
links here 1 is a reference I can't find a good tutorial how to write the compiler options for erlang into the mix.exs; 2 is the only blog entry isn't very detailed;
- http://elixir-lang.org/docs/stable/mix/Mix.Tasks.Compile.Erlang.html
- http://featurebranch.com/using-mix-to-compile-your-erlang-projects/
this issue is created as request for documentation/tutorial, or may need some actually code changes, ideally as a build tool, I am expecting:
- like
make --debug
or--verbose
to show all compilation process details, for where it didn't work, and possible suggestions, - a command switch to stop at first error, because currently
mix compile
tries to compile all mysrc/*.erl
files and until last failure, I don't see an option to make it stop at first compilation error; - the ability to build a single file,
- for
-h
or--help
to show a full list (or most useful) of all command switches; - if like nodejs Gulp can have watch and do continuously build in background would be wonderful.