Closed ddosia closed 10 years ago
I compile with piqi-erlang with different tool, and this invokes make all
within the repo if Makefile
is found. Although I may try to tune this tool, but frankly speaking, this common practice of separating get-deps
and make all
step is only b/c of slow rebar get-deps
, not because this is right thing to do.
I agree with @ddosia in that the accepted practice is to have a single invocation of just make
"do all the necessary work".
@alavrik, this PR would have the desired effect already though, since the deps
target would create deps
dir and rebar get-deps
would never be executed again, so no "slowness".
@yfyf to be fair, in this case, deps
is marked as .PHONY
target and make deps
will trigger a rerun of rebar get-deps
(see https://github.com/alavrik/piqi-erlang/blob/master/Makefile#L30). Rebar has a terrible interface, so I typically call make deps
when I need it.
It looks like a question of whether make
should fetch dependencies automatically is a matter of personal preference. I like the traditional way.
Besides, builds with 2 or 3 steps are quite common and any reasonable build system should be able to do this. If not, a small wrapper can solve this problem.
Apologies for the delay. May I ask you why you need this? You can always run
make deps all
.It is fairly common to fetch third-party dependencies as a completely separate step and not run it is a part of compilation. In general, fetching dependencies is a one-time step (like running
./configure
), and compilation can be called repeatedly while you are working on the project. Besides,rebar get-deps
is slow.