zoukankan      html  css  js  c++  java
  • GNU make 规则

    clean :  
        rm *.tmp

    规则格式:

    targets : prerequisites
        recipe
        ...
    
    
    targets : prerequisites :    recipe
        recipe
        ...

    target:  中文为目标,一般指目标文件名。即你编译产生的目标文件。

    prerequisite:依赖,目标文件的依赖文件。make根据prerequisite的时间戳来判断target是否需要更新。

    recipe:中文指烹饪方法。这里指的是使用prerequisite生成target的方法。如gcc tmp.c -o tmp。recipe行的开始符号一般为 ab。你也可以通过设置.RECIPEPREFIX变量来使用其他字符,而非tab。

    不是所有target都需要前置依赖的,target也不一定非的是一个文件名,如 

    clean :
        rm *.tmp

     当我们执行make clean 时,他会执行相应的shell命令删除所有的tmp文件。

      clean这种没有前置依赖的target属于phony target,即伪目标。他不会生成相应的文件。由于没有前置依赖,伪目标被视为永远最新,所以make不会自动执行伪目标(除非显示的make target)。

      凡事有特殊,处于首行的target为默认target。如果phony target在首行,会被默认执行。

      

  • 相关阅读:
    cf D. Vessels
    cf C. Hamburgers
    zoj 3758 Singles' Day
    zoj 3777 Problem Arrangement
    zoj 3778 Talented Chef
    hdu 5087 Revenge of LIS II
    zoj 3785 What day is that day?
    zoj 3787 Access System
    判断给定图是否存在合法拓扑排序
    树-堆结构练习——合并果子之哈夫曼树
  • 原文地址:https://www.cnblogs.com/san-fu-su/p/5749511.html
Copyright © 2011-2022 走看看