3

我已经设置了rebar来构建一个使用两个不同 c 文件的 erlang 模块。

我在我的rebar.config使用中设置了 c 编译选项(例如):

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

是否可以为每个 c 源文件设置不同的选项?我想要每个不同的编译器和链接器标志。

如果不是,最常见的替代方案/解决方法是什么?我想创建一个 Makefile 并将 c 编译移到那里会起作用,当 rebar 很好地照顾其余部分时,不得不这样做似乎很可惜。

4

1 回答 1

2

疯狂的想法:你可以使用pre_hooksandpost_hooks来执行 shell 脚本。也许你可以运行你自己的 shell 脚本来编译你想要的编译器和标志的文件,在 rebar 已经完成它的工作之后。

有关预处理的示例,请查看 SHA-2 标准的 Steve Vinoskis NIF 实现。查看他的rebar.configc_src/config.sh

于 2011-05-09T19:40:02.253 回答