GNU make manual 翻译( 一百零七)

继续翻译

`.PRECIOUS'                        
     The targets which `.PRECIOUS' depends on are given the following special treatment: if `make' is killed or interrupted during the execution of their recipes, the target is not deleted.  *Note Interrupting or Killing `make': Interrupts.  Also, if the target is an intermediate file, it will not be deleted after it is no longer needed, as is normally done.  *Note Chains of Implicit Rules: Chained Rules.  In this latter respect it overlaps with the `.SECONDARY' special target.  
                        
     You can also list the target pattern of an implicit rule (such as `%.o') as a prerequisite file of the special target `.PRECIOUS' to preserve intermediate files created by rules whose target patterns match that file's name.                                                
`.INTERMEDIATE'                        
     The targets which `.INTERMEDIATE' depends on are treated as intermediate files.  *Note Chains of Implicit Rules: Chained Rules. `.INTERMEDIATE' with no prerequisites has no effect.                        

`.PRECIOUS'
 那些 .PRECIOUS 所依赖的目的将得到特殊对待:如果 make在执行过程中 被杀掉或者中断,此目的不会被删除。

*Note Interrupting or Killing `make': Interrupts.

并且,如果目的是一个中间文件,当它不再被需要时,也不会被删除。 *Note Chains of Implicit Rules: Chained Rules. 它和后面的 .SECONDARY 特殊目的有些重复。

你也可以列出某隐式规则的目的模式(比如 %.o), 来作为 特殊目的.PRECIOUS的前提条件文件,来保护那些符合模式的中间文件。 

.INTERMEDIATE

.INTERMEDIATE 目的所依赖的目的被当作中间文件。

*Note Chains of Implicit Rules: Chained Rules.没有前提条件的 .INTERMEDIATE 没有效果。

后文待续

原文地址:https://www.cnblogs.com/gaojian/p/2696742.html