makefile实验一 make的基本原则、伪目标、以及不使用.PHONY确实现和伪目标一样功能的一种方法
target: echo "hello_Makefile" .PHONY: clean clean: echo "clean Done .2019"
使用伪目标的优势解读: 如果不使用伪目标,且本地存在名为“clean”文件名的文件,那么将不能执行clean目标下的命令。
1. make的基本原则:A make软件认为目标总是对应文件的。 B 如果一个目标对应的依赖为空,将被视无需检查任何依赖是否更新。
如果此时不存在该目标同名的文件,那么make该目标就能执行该目标下的命令们。
如果
此时本地已存在该目标同名的文件,并且依赖也为空,make软件不会执行该目标对应的命令。
2. 使用伪目标,可以消除该目标与本地同名文件的该层对应关系。
不使用.PHONY,实现和伪目标一样功能的,另一种方法:
target: echo "hello_Makefile" #.PHONY: clean clean:Enable_this_target echo "clean Done" Enable_this_target:
原理解读(图中红色文字): 因为目标Enable_this_target总是需要被更新,所以clean这个目标总是需要被更新,
达到了每次make clean,都能去执行clean目标所在的规则内的命令们,这一目的。
/************* 社会的有色眼光是:博士生、研究生、本科生、车间工人; 重点大学高材生、普通院校、二流院校、野鸡大学; 年薪百万、五十万、五万; 这些都只是帽子,可以失败千百次,但我和社会都觉得,人只要成功一次,就能换一顶帽子,只是社会看不见你之前的失败的帽子。 当然,换帽子决不是最终目的,走好自己的路就行。 杭州.大话西游 *******/