Ответ на ваш главный вопрос очень прост:
чтобы поместить основной двоичный файл вашего приложения OCaml в папку build
, вам просто нужно запустить:
ocamlc -o build/main.exe main.ml ….cmo
Действительно, как указано в документации (man ocamlc
):
-o exec-file
Укажите имя выходного файла, созданного компоновщиком.
имя выхода по умолчанию - a.out, в соответствии с традицией Unix. [...]
Однако выполнение всех этапов сборки вручную так, как вы предлагаете в своем вопросе, может быть не очень эффективным (в частности, все файлы .cmo будут оставаться вместе с источниками в одной папке ).
Чтобы избежать этого и упростить сборку вашего проекта OCaml, я предлагаю использовать инструмент управления сборкой для OCaml, например, один из четырех инструментов, упомянутых в конце учебника Компиляция проектов OCaml :
- ocamlbuild
- GNU make
- 1027 * Бонус-байка *
- Oasis
( ocamlbuild , вероятно, самый простой инструмент среди четырех.)
Но вы также можете рассмотреть возможность использования Dune (ранее известного как JBuilder) , который является системой сборки, используемой большинством пакетов в opam .