我正在关注这个OCamlbuild example,因此创建了下面的Makefile:
OCB_FLAGS = -use-ocamlfind -I src -I lib
OCB = ocamlbuild $(OCB_FLAGS)
check: ocamlfind query core async
clean: $(OCB) -clean
byte: $(OCB) main.byte
native: $(OCB) main.native
.PHONY: check clean byte native
根目录包含两个子目录,src和lib . src子目录包含文件main.ml.
当我执行任何目标时,例如 make clean
, make byte
等,我收到错误信息:
make:***没有规则可以通过'check'来制作目标'ocamlfind' . 停止 .
要么
make:***没有规则来制作目标'ocamlbuild','byte'需要 . 停止 .
我很感激帮助理解这个错误的原因和解决方法 . 谢谢 .
1 回答
这一行:
表示
clean
有两个依赖项,$(OCB)
和-clean
. 所以它首先尝试构建ocamlbuild
.你想要这个,就像链接的makefile一样:
这意味着
clean
没有依赖关系,并且通过运行$(OCB) -clean
是"done" .请注意,在
$
字符之前需要一个实际的制表符,而不是8个空格 .