zoukankan      html  css  js  c++  java
  • 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目标所在的规则内的命令们,这一目的。

    /************* 社会的有色眼光是:博士生、研究生、本科生、车间工人; 重点大学高材生、普通院校、二流院校、野鸡大学; 年薪百万、五十万、五万; 这些都只是帽子,可以失败千百次,但我和社会都觉得,人只要成功一次,就能换一顶帽子,只是社会看不见你之前的失败的帽子。 当然,换帽子决不是最终目的,走好自己的路就行。 杭州.大话西游 *******/
  • 相关阅读:
    开源搜索引擎Solr的快速搭建及集成到企业门户最佳实施方案--转载
    Java开发WebService的几种方法--转载
    HBase Java简单示例--转载
    Eclipse快捷键大全--转载
    Java中List、Set和Map的区别--转载
    ArrayList和Iterator的用法
    日期格式化
    java中的值传递和引用传递问题
    Servlet,过滤器,监听器,拦截器的区别
    Java过滤器与SpringMVC拦截器之间的关系与区别
  • 原文地址:https://www.cnblogs.com/happybirthdaytoyou/p/11314301.html
Copyright © 2011-2022 走看看