• GNU make manual 翻译(十八)


    继续翻译

       The other rules are processed because their targets appear as 
    prerequisites of the goal.  If some other rule is not depended on by the
    goal (or anything it depends on, etc.), that rule is not processed, 
    unless you tell `make' to do so (with a command such as `make clean').                        
                            
       Before recompiling an object file, `make' considers updating its 
    prerequisites, the source file and header files.  This makefile does not 
    specify anything to be done for them--the `.c' and `.h' files are not 
    the targets of any rules--so `make' does nothing for these files.  But 
    `make' would update automatically generated C programs, such as those 
    made by Bison or Yacc, by their own rules at this time.                        

           其他的规则被处理的原因是,他们的目的出现在了终点的前提条件上。如果一个规则没有出现在终点的依赖序列中,则此规则不会得到处理。除非你强制 make 去处理(例如 执行 make clean)。

           在重新编译一个目标文件之前, make 会先干更改此目标文件的前提条件,即源文件和头文件。

    此makefile 不会指定任何任务--.c 和 .h 文件不是任何规则的目的--所以 make 不会处理它们。但是make 会自动地生成 C 程序,例如那些由 规则所指定,进而被如Bison 或者 Yacc 生成的C程序。

     后文待续

  • 相关阅读:
    Hive:ORC File Format存储格式详解
    tmpfs使用探讨
    Autofs自动挂载探讨
    新建swap分区的规划、挂载和自动挂载示例
    Linux下禁止使用swap及防止OOM机制导致进程被kill掉
    Linux Swap交换分区探讨
    Linux下配置nfs并远程挂载实战探讨
    java.util.NoSuchElementException问题定位
    spark推测执行的坑
    Spark的性能调优杂谈
  • 原文地址:https://www.cnblogs.com/gaojian/p/2683347.html
Copyright © 2020-2023  润新知