用于安装OCaml库的Makefile

Gai*_*ius 4 debian ocaml makefile

对于OCaml库,我需要在我的目标installuninstall目标中Makefile做些什么才能使其与其他安装完美配合ocamlfind,与之无缝协作等等?基本上是一个"好公民".我现在对GODI不感兴趣.谢谢!

gas*_*che 6

ocamlfind的META文件很容易编写(基本上,在你知道的另一个ocaml项目中查找META,复制它并进行相应的更改),它们将为你提供ocamlfind集成,特别是对后期构建安装和卸载(使用ocamlfind installocamlfind remove).你应该从那开始.

¹:例如,我从电池的META中获取灵感.

Makefile的构建部分更加棘手,它们是众多的解决方案(OCamlMakefile,OMake,ocamlbuild,plain Makefile等),具有不同的优点和缺点.如果你的项目很简单,我会建议ocamlbuild自己负责很多依赖项跟踪.

您也可以使用Oasis,这是一个基于ocamlbuild和ocamlfind的相对较新的工具,旨在为预构建配置和各种构建和部署提供统一的配置文件(您的程序,您的软件库,如果有的话,附带的数据或文档...).它还不是一个成熟的项目(它的小兄弟Oasis-DB尚未发布),但如果你有时间,我鼓励你试一试.它比META复杂一点,因为它最终会做得更多,所以首先构建META仍然是一个很好的步骤.

最后,你说你对Godi不感兴趣(Godi是一个非常好的系统,在某些情况下(例如BSD等),这是一个很好的选择,有一个很好的OCaml安装),但万一你可能仍然感兴趣在Godiva,一个帮助建立GODI包的工具.不过,我自己从未使用过它.