首先来看一个例子:
.PHONY : clean clean : -rm edit $(objects)
这个例子和之前几节的例子不同的地方在于:
1.开头多了一个.PHONY:clean,这条语句的含义是显示的把clean声明为一个伪目标,防止目录中存在一个名为clean的文件时对这条规则下的命令的执行造成干扰。
2.rm命令前多了一个“-”, 即“-rm”,意思是忽略rm命令的执行错误,即使有些文件删除出错,能删的还是要删。
注:伪目标不能作为终极目标(第一个目标),因为Makefile的本质是要编译,链接生成可执行文件,而不是仅仅执行删除命令。