0
我试图让omake在我的bin目录中创建东西。我试图OMake bin目录
LIB = ../bin/mylib
.DEFAULT: $(OCamlLibrary $(LIB), $(FILES))
但只有u和.cmxa在仓结束,所有的.cmx .cmi和中的.o SRC结束。我究竟做错了什么?
我试图让omake在我的bin目录中创建东西。我试图OMake bin目录
LIB = ../bin/mylib
.DEFAULT: $(OCamlLibrary $(LIB), $(FILES))
但只有u和.cmxa在仓结束,所有的.cmx .cmi和中的.o SRC结束。我究竟做错了什么?
没有错。 OMake的内置OCaml相关规则编译每个模块并在源代码的同一目录中生成其对象(.cmo,.cmi,.cmx和.o)。
$(OCamlLibrary $(LIB), $(FILES))
功能链接这些模块对象,并产生库文件$(LIB).cma
,$(LIB).cmxa
和$(LIB).a
,就像你所看到的。
如果要更改目标文件的目标目录,则必须修复OCaml的构建规则。它们在OMake的库目录中找到的OCaml.om
中定义,但我不得不说这是非常具有挑战性的。
'$(OCamlLibrary ..)'目标完成后没有办法执行复制/符号链接规则吗? – rgrinberg