Файл _tags
в дополнение к myocamlbuild.ml
образует корень системы компиляции ocamlbuild
.
ocamlbuild
— очень универсальный инструмент, который может скомпилировать что угодно. Он управляется решателем, который в соответствии с целью, установленной пользователем, находит решение, которое может удовлетворить цель. Решение представляет собой цепочку правил, которые применяются к файлам. Файлы могут быть помечены тегами. Теги могут изменять правила. Например, он может добавлять флаги, такие как включение профилирования или привязка к библиотеке.
Файл _tags
предоставляет механизм для присвоения тегов файлам и имеет простую грамматику:
pattern ":" tag "," {tag}.
То, что находится слева от :
, на самом деле является шаблоном или регулярным выражением. Каждому файлу, соответствующему выражению, будут присвоены все теги, расположенные справа от :
.
<**/*>
означает, что для всех файлов в этой папке и всех подпапках есть ярлык: true
. <*>
означает для всех файлов в этой папке (без спуска в подпапки). Другими примерами являются <*.ml>
, <*.cmx>
или <**/*.cma>
(кстати, or
также можно использовать для построения шаблона).
OCamlbuild задокументирован в Руководстве по OCaml, а также дамп старой вики с большим количеством информации.
Но самое интересное, что обычно вам не нужно знать это, чтобы использовать OCaml. Существует инструмент OASIS
, который автоматизирует все задачи и создаст для вас _tags
файл из простое и высокоуровневое определение.
person
ivg
schedule
27.02.2015