看下面的例子
Makefile文件
.PHONY: clean
clean: rm *.o
当Makefile文件所在目录有文件名为clean的文件,命令行“.PHONY: clean”又没添加的话,执行make clean是无效的
所以“.PHONY: clean”就是保证即使目录下有文件名为clean的文件,也能正常执行make clean
目标文件:依赖文件 命令 ------------------------------------ clean:
rm *.o
all: main
------------------------------------ main: main.o func.o gcc -o main main.o func.o ------------------------------------ func.o: func.c func.h gcc -c func.c
一般情况下,执行命令后,会生成目标文件,如main、func.o;如果执行目标后不生成目标文件,叫做伪目标,比如clean、all