【发布时间】:2018-07-07 18:15:51
【问题描述】:
我知道 .PHONY 的作用。
如果在我的 Makefile 所在的文件夹中,我添加一个名为 clean 的空文件,并且在我运行 make clean 后,所有的 clean 目标都不会被执行,因为文件中没有任何更改,所以目标不会运行,这是正确的。 如果我添加 .PHONY: clean,则 clean 被视为命令,这也是正确的。
我的问题是为什么这种行为不会发生在 all 目标上,因为我在文件夹中添加了一个 all 文件。所以基本上 all 目标仍然像这样执行如果是 .PHONY: all
我有闲置的 makefile 代码。
all: test1 test2
test1: test1.o
test1.o: test1.c
test2: test2.o
test2.o: test2.c
clean:
rm -rf *.o test1 test2
【问题讨论】:
-
严格来说并不是needed