erlang - 如何使用 rebar 在每个文件的基础上使用不同的 c 编译器/链接器选项?

标签 erlang makefile rebar

我有 rebar设置以构建使用两个不同 c 文件的 erlang 模块。

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

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

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

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

最佳答案

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

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

关于erlang - 如何使用 rebar 在每个文件的基础上使用不同的 c 编译器/链接器选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5936246/

相关文章:

https - 带有http和https的Webmachine?

erlang - 了解 ejabberd filter_packet Hook 参数

erlang - Mnesia:如何同时锁定多行以便我可以写入/读取 "consistent"记录集

linker - 链接器脚本中的Make或Shell变量

erlang - 如何设置钢筋的包含目录

erlang - 远程节点、组长和打印输出

c++ - 在 C++ 中查找函数定义

linux - 没有创建目标 f1.o 的规则,f90_simple 需要

erlang - 如何在使用钢筋运行 eunit 测试之前启动啤酒

erlang - 为什么脚本无法运行?