META-файлы для ocamlfind просты в написании (в основном, найдите META в другом известном вам проекте ocaml ¹, скопируйте его и внесите соответствующие изменения), и они обеспечат вам интеграцию с ocamlfind, в частности, легкую поддержку послепостроить установку и удаление (используя ocamlfind install
и ocamlfind remove
).Вы должны начать с этого.
¹: например, я черпаю вдохновение из META батарей аккумуляторов.
Строительная часть Makefile более сложна, их многочисленные решения (OCamlMakefile, OMake, ocamlbuild, простой Makefile и т. Д.) С различными сильными и слабыми сторонами.Если ваш проект достаточно прост, я бы порекомендовал ocamlbuild, который сам позаботится о отслеживании зависимостей.
Вы также можете использовать Oasis , который является относительно новым инструментом, основанным наocamlbuild и ocamlfind и стремятся предоставить унифицированный файл конфигурации для предварительной сборки конфигурации и различных сборок и развертываний (вашей программы, ваших программных библиотек, если таковые имеются, сопроводительных данных или документации ...).Это еще не зрелый проект (и его младший брат Oasis-DB еще не выпущен), но я призываю вас попробовать, если у вас есть время.Он немного сложнее, чем META, так как он делает больше в конце, поэтому сначала нужно создать META.
Наконец, вы сказали, что не заинтересованы в Godi (Godi очень хорошийсистема, а в некоторых случаях (например, BSD и т. д.) хорошая установка OCaml), но на случай, если вас все еще заинтересует Godiva , инструмент, помогающий строить GODIпакеты.Впрочем, я никогда этим не пользовался.