ocamlbuild を使用して piqi を自動的に呼び出し、 protobuf定義から ocaml モジュールを生成しようとしています。%.protobuf
これは、ファイルからに移動し%.proto.piqi
、最後にに移動する必要がある 2 段階のプロセス%_piqi.ml
です。
最初のステップのルールは次のようになります。
rule "piqi: .proto -> .piqi"
~dep:"%.proto"
~prod:"%.proto.piqi"
begin fun env build ->
Cmd (S [ A piqi ; A "of-proto"
; A "-I"; P protobuf_include
; P (env "%.proto") ]
)
end;
しかし、個々のファイルがソース内で相互にインポートされるため、%.proto.piqi
ターゲットは実際にはソース ディレクトリ内のすべての「*.proto」ファイルに依存しているため、これは機能しません。.proto
しかし、この依存関係を ocamlbuild で表現する方法がわかりません。_build
1 つだけではなく、すべての proto ファイルがコピーされていれば十分です。~dep