Как я могу использовать различные опции компилятора / компоновщика c для каждого файла с использованием арматуры? - PullRequest
3 голосов
/ 09 мая 2011

У меня есть арматура , настроенная для построения модуля erlang, который использует два разных файла c.

Я установил параметры компиляции c в моем rebar.config, используя (например):

{port_env, [{"DRV_CFLAGS", "$DRV_CFLAGS -Wall -Wextra"}]}.

Можно ли установить разные параметры для каждого исходного файла c?Я хотел бы иметь разные флаги компилятора и компоновщика для каждого.

Если нет, то какая самая распространенная альтернатива / обходной путь?Я думаю, что создание Makefile и перемещение туда компиляции c работало бы, просто стыдно, когда арматура так хорошо заботится обо всем остальном.

1 Ответ

2 голосов
/ 09 мая 2011

Сумасшедшая идея: Вы можете использовать pre_hooks и post_hooks для выполнения сценариев оболочки.Возможно, вы могли бы запустить свой собственный скрипт оболочки, чтобы скомпилировать файл с нужным вам компилятором и флагами, после того, как арматура уже выполнила свою работу.

В качестве примера предварительной обработки, посмотрите реализацию SHA-2 Стива Виноскиса в NIF.стандарт.Смотрите его rebar.config и c_src / config.sh

...