我希望在LLVM Ocaml 教程的上下文中添加将Ragel源文件编译成 Ocaml 源文件的功能。具体来说,对于具有“.rl”扩展名的源文件,我希望它执行:
ragel -O source.rl
构建系统当然应该像往常一样编译生成的 Ocaml 文件。什么是一个简单的方法来做到这一点?
这是 _tags 文件:
<{lexer,parser}.ml>: use_camlp4, pp(camlp4of)
<*.{byte,native}>: g++, use_llvm, use_llvm_analysis
<*.{byte,native}>: use_llvm_executionengine, use_llvm_target
<*.{byte,native}>: use_llvm_scalar_opts, use_bindings
这是 myocamlbuild.ml 文件:
open Ocamlbuild_plugin;;
ocaml_lib ~extern:true "llvm";;
ocaml_lib ~extern:true "llvm_analysis";;
ocaml_lib ~extern:true "llvm_executionengine";;
ocaml_lib ~extern:true "llvm_target";;
ocaml_lib ~extern:true "llvm_scalar_opts";;
flag ["link"; "ocaml"; "g++"] (S[A"-cc"; A"g++ -rdynamic"]);;
dep ["link"; "ocaml"; "use_bindings"] ["bindings.o"];;