zoukankan      html  css  js  c++  java
  • GNU make manual 翻译( 一百零八)

    继续翻译

    `.SECONDARY'
         The targets which `.SECONDARY' depends on are treated as
         intermediate files, except that they are never automatically
         deleted.  *Note Chains of Implicit Rules: Chained Rules.
    
         `.SECONDARY' with no prerequisites causes all targets to be treated
         as secondary (i.e., no target is removed because it is considered
         intermediate).
    
    `.SECONDEXPANSION'
         If `.SECONDEXPANSION' is mentioned as a target anywhere in the
         makefile, then all prerequisite lists defined _after_ it appears
         will be expanded a second time after all makefiles have been read
         in.  *Note Secondary Expansion: Secondary Expansion.
    
    `.DELETE_ON_ERROR'
         If `.DELETE_ON_ERROR' is mentioned as a target anywhere in the
         makefile, then `make' will delete the target of a rule if it has
         changed and its recipe exits with a nonzero exit status, just as it
         does when it receives a signal.  *Note Errors in Recipes: Errors.
    
    `.IGNORE'
         If you specify prerequisites for `.IGNORE', then `make' will
         ignore errors in execution of the recipe for those particular
         files.  The recipe for `.IGNORE' (if any) is ignored.
    
         If mentioned as a target with no prerequisites, `.IGNORE' says to
         ignore errors in execution of recipes for all files.  This usage of
         `.IGNORE' is supported only for historical compatibility.  Since
         this affects every recipe in the makefile, it is not very useful;
         we recommend you use the more selective ways to ignore errors in
         specific recipes.  *Note Errors in Recipes: Errors.

    .SECONDARY 依赖的目的被认为是中间文件。除了那些永远不会自动删除的。

    *Note Chains of Implicit Rules: Chained Rules.

    没有前提条件的.SECONDARY 导致所有的目的都被当成 从属的(没有目的会被删除,因为它被认为是中间文件)。

    *此处我插一句,这里的说明是非常错误的。我认为正确的说法应当是:中间文件一般会被删除,但是标记为 .SECONDARY 的中间文件不会被删除*

    .SECONDEXPANSION

    如果 .SECONDEXPANSION 作为一个目的被声明在makefile 的某处,那么所有的在此之后的定义的前提条件将在所有 makefile 被读取后,扩展两次。

    *Note Secondary Expansion: Secondary Expansion

    如果 DELETE_ON_ERRORS 作为一个目的在makefile中的任何一个地方被提及,make 将要删除一个规则的目的,如果它在规则中变化了并且此规则的片段返回一个非零值,就和它接收到了一个信号时的行为一样。 *Note Errors in Recipes: Errors.

    `.IGNORE'
    如果你为 .IGNORE 指定前提条件,那么 make 将要在执行片段的过程中忽略错误。.IGNORE 的片段被忽略。

    If mentioned as a target with no prerequisites, `.IGNORE' says to
    ignore errors in execution of recipes for all files. This usage of
    `.IGNORE' is supported only for historical compatibility. Since
    this affects every recipe in the makefile, it is not very useful;
    we recommend you use the more selective ways to ignore errors in
    specific recipes. *Note Errors in Recipes: Errors.

    当 .IGNORE 中没有前提条件的时候,表示为所有文件,忽略片段执行中的错误。这种用法知识为了支持对旧有版本的兼容性而设。由于这影响到makefile中的所有片段,它不是很有用;我们建议你采用更加有选择性的方式来忽略特定片段中的错误。 *Note Errors in Recipes: Errors.

    后文待续

  • 相关阅读:
    python基本数据类型操作
    ansible基本命令及剧本
    ansible模块及语法
    ansible主机组配置及秘钥分发
    ansible简介安装配置
    K8S使用---故障处理
    python脚本案例---备份单个目录
    telnet-server故障
    zabbix故障处理
    网站部署---LAMP环境部署PHP网站
  • 原文地址:https://www.cnblogs.com/gaojian/p/2697070.html
Copyright © 2011-2022 走看看