Dưới đây là một cách để thực hiện việc đó bằng cách sử dụng myocamlbuild.ml và _tags.
Trong myocamlbuild.ml, thêm một hướng dẫn flag
để cho ocamlbuild nhận một thẻ mới - đây keep_asm - mà sẽ cho phép -S
cho các tập tin được lựa chọn khi biên dịch để mẹ đẻ:
flag ["ocaml";"compile";"native";"keep_asm"] (S [A "-S"]);
Without các "native"
chuỗi trong danh sách chuyển cho flag
, cờ sẽ được kích hoạt cho bất kỳ biên soạn giai đoạn sử dụng ocaml (như được chỉ ra bởi các chuỗi "ocaml"
và "compile"
), và sẽ kích hoạt khi ocamlc được gọi, mà bạn không muốn.
Vì vậy, cho mình một lập trường hoàn chỉnh myocamlbuild.ml làm chỉ ở trên, điều này sẽ bật ra như:
open Ocamlbuild_plugin;;
open Command;;
dispatch begin function
| Before_rules ->
begin
end
| After_rules ->
begin
flag ["ocaml";"compile";"native";"keep_asm"] (S [ A "-S"]);
end
| _ ->()
end
Một lần, bạn đã có mà thẻ mới được xác định, bạn có thể sử dụng nó trong tệp _tags của bạn giống như bất kỳ thẻ nào khác, ví dụ:
<myfile.ml>: use_bigarray, keep_asm