2013-12-09 2 views
4

Одна из моих зависимостей не использует rebar - она ​​использует Makefile. Как мне получить rebar для запуска этого Makefile, вместо того, чтобы пытаться скомпилировать сам источник?Как заставить арматуру запускать «make» для зависимости?

Обратите внимание, что я хотел бы продолжать использовать арматуру для всего остального.

ответ

3

Глядя на rebar.config example file, вы можете отметить зависимость как raw, то есть это не скомпилировано арматурой. Затем вы можете добавить либо pre, либо post компилятор, чтобы запустить make в этом каталоге зависимостей. Команда арматуры generate должна по-прежнему собирать любые приложения Erlang, созданные там, при условии, что они имеют структуру файлов OTP.

0

Если вы используете rebar через make, вы можете добавить этот вид кода в Makefile:

@if [[ -f [email protected]/Makefile ]]; \ 
    then echo 'make -C [email protected] all' ; \ 
       make -C [email protected] all ; \ 
    else echo 'cd [email protected] && rebar get-deps compile && cd ../..' ; \ 
       cd [email protected] && rebar get-deps compile && cd ../.. ; fi 

Проверяется [email protected] имеет Makefile решает, следует ли использовать make или rebar.

Этот фрагмент от erl.mkhttps://github.com/fenollp/erl-mk/blob/master/erl.mk#L17-L21

Смежные вопросы