0

我正在尝试在我的 bin 目录中构建 omake 东西。我试过了

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

但只有 .a 和 .cmxa 以 bin 结尾,所有 .cmx .cmi 和 .o 都以 src 结尾。我究竟做错了什么?

4

1 回答 1

1

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

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

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

于 2016-02-03T20:07:49.063 回答