我目前正在开发一个用 OCaml 编写并使用 js_of_ocaml 编译为 javascript 的网站项目。只要我使用该命令只有一个源文件,它就可以很好地工作ocamlfind ocamlc -package js_of_ocaml -package js_of_ocaml.syntax -syntax camlp4o -linkpkg -o file.byte file.ml
但我想在我的项目中包含几个模块。我怎样才能做到这一点 ?
其他模块实际上是由 ocamllex 和 menhir 生成的词法分析器和解析器。我读过一篇tutorial http://toss.sourceforge.net/ocaml.html关于如何将 ocamllex 和 menhir 与 js_of_ocaml 一起使用,但它对 js_of_ocaml 的安装位置做出了错误的假设(我使用 opam 安装了它),并且它使用 ocamlbuild,我想知道如何在不使用 ocamlbuild 等自动化工具的情况下手动执行此操作。
我通过尝试理解官方示例的 makefile 找到了解决方案。
这是我的 Makefile :
OBJS=file1.cmo file2.cmo file3.cmo
NAME=projectname
OCAMLC=ocamlfind ocamlc -package js_of_ocaml -package js_of_ocaml.syntax -syntax camlp4o
$(NAME).byte: $(OBJS)
$(OCAMLC) -linkpkg -o $@ $(OBJS)
$(NAME).js: $(NAME).byte
js_of_ocaml $<
%.cmo: %.ml
$(OCAMLC) -c $<
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)