조건부 컴파일을 사용하려면 camlp4.macro를 사용하고 있습니다. 나는 문제를 OCamlbuild에게 "use_jscore"태그가 붙은 특정 파일 에 주어진 camlp4 옵션으로 사전 처리해야한다고 알려주고 있습니다. 현재 가지고있는 것들은 다음과 같습니다 :OCamlbuild 및 camlp4 옵션
let _ = dispatch begin function
| After_rules ->
flag ["ocaml"; "use_jscore"] (S[A"-package"; A"camlp4.macro"; A"-syntax"; A"camlp4o"; A"-ppopt"; A"-DUSE_JSCORE"]);
그러나 이것은 OCamlbuild에 의해 완전히 이스케이프 처리됩니다. 나는 ocamlfind를 사용하고 있습니다. 따라서 기본적으로 OCamlbuild는 태그가 붙은 모든 OCaml 파일에 "use_jscore"가 -DUSE_JSCORE 옵션이 주어진 camlp4.macro에 의해 사전 처리되어야한다는 것을 알려줍니다.
하지만 동일한 문하지만 S/컴파일/출발 /과를 반복 할 필요가 없습니다? 반복을 피할 수있는 방법이 있습니까? –
맞습니다.'dep' 명령문을 반복해야 할 수도 있습니다. 'S (...)'의 내용을 반복하지 않으려면 지역 변수에 저장할 수 있습니다. – Thomas