经过少量修改后,OCaml Makefile停止工作

时间:2016-04-01 15:50:06

标签: makefile ocaml

我希望在存储库的根目录下使用Makefile编译我的OCaml代码,此代码位于另一个名为step1的存储库中。但由于某种原因,通过简单地添加源路径,编译不再起作用了吗?

这是我的Makefile:

DIR     = step1

SRC     = $(DIR)/door.ml\
        $(DIR)/tile.ml\
        $(DIR)/maze.ml\
        $(DIR)/display.ml\
        $(DIR)/main.ml

OCAMLFLAGS = -w Aelz -warn-error A -g

all: step1 step1.byte

step1:  step1.native
        cp $< $@

step1.byte: $(SRC)
        ocamlc $(OCAMLFLAGS) $^ -o $@

step1.native: $(SRC)
        ocamlopt $(OCAMLFLAGS) $^ -o $@

clean:
        $(RM) *.cmo *.cmi *.o *.cmx

fclean: clean
        $(RM) step1 step1.byte step1.native step2 step2.native step2.byte step3 step3.native step3.byte step4 step4.byte step4.native step5 step5.byte step5.native

re: fclean all

.PHONY: all clean fclean re

我得到的错误信息如下:

 ocamlopt -w Aelz -warn-error A -g step1/door.ml step1/tile.ml step1/maze.ml step1/display.ml step1/main.ml -o step1.native
File "step1/tile.ml", line 1, characters 0-9:
Error: Unbound module Door
Makefile:30: recipe for target 'step1.native' failed
make: *** [step1.native] Error 2

我必须使用ocamlc和ocamlopt进行编译,并且可执行文件必须位于存储库的根目录中。

我错过了什么?

0 个答案:

没有答案