makefile实验一 make的基本原则、伪目标、以及不使用.PHONY确实现和伪目标一样功能的一种方法

target:
    echo "hello_Makefile"

.PHONY: clean
clean:
    echo "clean Done .2019"

使用伪目标的优势解读: 如果不使用伪目标,且本地存在名为“clean”文件名的文件,那么将不能执行clean目标下的命令。

 1.   make的基本原则:A make软件认为目标总是对应文件的。   如果一个目标对应的依赖为空,将被视无需检查任何依赖是否更新

        如果此时不存在该目标同名的文件,那么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目标所在的规则内的命令们,这一目的。

 

posted @ 2019-08-07 11:31  一匹夫  阅读(233)  评论(0编辑  收藏  举报