3

2 つの異なる c ファイルを使用する erlang モジュールをビルドするためにrebarをセットアップしました。

私は自分のrebar.config使用でcコンパイルオプションを設定しました(たとえば):

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

cソースファイルごとに異なるオプションを設定することはできますか? それぞれに異なるコンパイラ フラグとリンカー フラグが必要です。

そうでない場合、最も一般的な代替/回避策は何ですか? Makefile を作成してそこに C コンパイルを移動するとうまくいくと思います。

4

1 に答える 1

2

クレイジーなアイデア: と を使用pre_hookspost_hooksて、シェル スクリプトを実行できます。rebar が既にその仕事を終えた後、独自のシェル スクリプトを実行して、目的のコンパイラとフラグを使用してファイルをコンパイルすることができます。

前処理の例については、SHA-2 標準の Steve Vinoskis NIF 実装を確認してください。彼のrebar.configc_src/config.shを参照してください

于 2011-05-09T19:40:02.253 に答える