伪目标的引入
默认情况下
示例1
Code
clean:
rm *.o hello.out
执行:make clean
,删除所有以 .o 为结尾的文件和 hello.out 文件
当当前目录下有一个名为 clean 的文件时,重新执行:
执行结果:make: “clean”是最新的 =>刚才的 makefile 文件命令没有被执行
原因:make 优先处理文件
如何解决:引入伪目标
makefile 中的伪目标
.PHONY
关键字声明一个伪目标伪目标的语法:先声明,后使用
本质:伪目标是 make 中特殊目标 .PHONY
的依赖
.PHONY : clean
clean :
rm *.o hello.out
伪目标的使用方法
##声明三个伪目标##
.PHONY : clean rebuild all
##其他规则##
rebuild : clean all
clean :
rm *.o hello.out
.PHONY
关键字定义伪目标
clean : FORCE
rm *.o hello.out
FORCE :
原文:https://www.cnblogs.com/bky-hbq/p/13197755.html