После обсуждения этой проблемы в списке рассылки Rebar я в итоге создал плагин Rebar. Вот, если кому-то нужно сделать что-то подобное. Последнее «ОК» требуется для текущего API плагинов Rebar.
-module(rebar_compiledeps_plugin).
-export([pre_compile/2]).
pre_compile(_, _) ->
Cwd = rebar_utils:get_cwd(),
case lists:suffix("my_dep", Cwd) of
true ->
Opts = [{cwd, Cwd}],
case filelib:is_regular(filename:join([Cwd, "Makefile"])) of
true ->
rebar_utils:sh("make [OPTIONS]", Opts);
false ->
rebar_utils:sh("./configure && make [OPTIONS]", Opts)
end;
false ->
ok
end,
ok.