以下是我makefile
的一部分:
all: $(CMX_DOMAIN)
analyze
clean:
rm -rf */*.o */*.cmo */*.cmi */*.cmx */*.cma */*.cmxa */*.cmo */*.cmi */*.annot \
$(AUTOGEN) */*~ */*.log */*.output depend analyze print batch
修改代码后,我需要在启动make clean
之前键入make
。否则,通常存在依赖性不一致的问题。
现在我想修改makefile
,以便在clean
每次调用之前系统地完成all
。然后我写了
all: clean
$(CMX_DOMAIN)
analyze
当我启动make
时,在清理文件后,它会给我一个错误/bin/bash: values/consts_bool.cmx: No such file or directory
,其中values/consts_bool
是文件列表中的第一个组件。这很奇怪,因为这个文件不存在是正常的,应该在之后生成。
有人可以帮忙吗?
答案 0 :(得分:1)
你的意思是
all: clean $(CMX_DOMAIN)
在一条线上。
我不特别推荐这个,因为删除所有构建的文件否定了Make的主要目的。如果您不想保留文件,为什么使用Make?
作为构建基础设施时的临时修复,可能会有所帮助。