在接触Makefile的时候,我们经常会看到 .PHONY 标记,它就是伪目标,所谓伪目标,就是指没有真正的文件和它对应,只是一个标识而已。make程序看到 .PHONY 后面的目标后就会去执行对应的命令。例如有如下代码:
build:
@echo "Building"
all:
@echo "hello"
clean:
@echo "clean"
$ make
$ Building
$ make clean
$ clean
$ touch clean
$ make clean
// 这个时候就是显示说clean文件是最新的
$ make: `clean' is up to date.
把Makefile改成如下,声明clean为伪目标
.PHONY: clean
build:
@echo "Building"
all:
@echo "hello"
clean:
@echo "clean"
再执行
$ make clean
// 输出和原来一样了
$ clean