我正在尝试制作一个我正在使用 ocamlbuild 编译的项目,以避免使用常规的 Makefile,我发现它稍微复杂一些。
具体来说,我有一个语法扩展文件(extend.ml),我需要先编译它。在常规的 Makefile 中会有一条规则:
extend.cmo: extend.ml
$(OCAMLC) -pp "camlp5o pa_extend.cmo q_MLast.cmo" -I +camlp5 -c $<
然后,为了计算依赖关系,会有这样的规则:
depend: $(MLFILES) extend.cmo
$(OCAMLDEP) -pp "camlp5o ./extend.cmo"
当然,任何目标文件的创建都需要与上述类似的规则。
我的问题是,如何将这些规则/要求集成到一个 ocamlbuild 命令(如果可能)?
我尝试先编译extend.ml文件,然后使用以下命令:
ocamlbuild -pp "camlp5o ./extend.cmo" -I +camlp5 -use-menhir -no-hygiene Main.byte
但我认为它在任何方面都不是最佳的。
不幸的是,我不熟悉使用 ocamlbuild 作为编译工具,所以任何帮助将不胜感激。