Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试在我的 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))函数链接这些模块对象并生成库文件$(LIB).cma,$(LIB).cmxa并且$(LIB).a,就像您看到的那样。
$(OCamlLibrary $(LIB), $(FILES))
$(LIB).cma
$(LIB).cmxa
$(LIB).a
如果要更改目标文件的目标目录,则必须修复 OCaml 的构建规则。它们是OCaml.om在 OMake 的库目录中定义的,但我不得不说这是非常具有挑战性的。
OCaml.om