OMake bin 目录

OMake bin directory

我正在尝试在我的 bin 目录中使用 omake 构建内容。我试过了

LIB = ../bin/mylib
.DEFAULT: $(OCamlLibrary $(LIB), $(FILES))

但只有 .a 和 .cmxa 最终进入 bin,所有 .cmx .cmi 和 .o 最终进入 src。我做错了什么?

没有错。 OMake 内置的 OCaml 相关规则编译每个模块并在源代码的同一目录中生成其对象(.cmo、.cmi、.cmx 和.o)。

$(OCamlLibrary $(LIB), $(FILES)) 函数 link 这些模块对象并生成库文件 $(LIB).cma$(LIB).cmxa$(LIB).a,就像您看到的那样。

如果要更改目标文件的目标目录,则必须修复 OCaml 的构建规则。它们在OMake的库目录中的OCaml.om中定义,但我不得不说这是非常具有挑战性的。