GNU make manual 翻译(四十八)

继续翻译

3.5 How Makefiles Are Remade                        
============================                        
                        
Sometimes makefiles can be remade from other files, such as RCS or SCCS 
files.  If a makefile can be remade from other files, you probably want 
`make' to get an up-to-date version of the makefile to read in.                        
                        
   To this end, after reading in all makefiles, `make' will consider  
each as a goal target and attempt to update it.  If a makefile has a 
rule which says how to update it (found either in that very makefile or 
in another one) or if an implicit rule applies to it (*note Using  
Implicit Rules: Implicit Rules.), it will be updated if necessary. 
After all makefiles have been checked, if any have actually been 
changed, `make' starts with a clean slate and reads all the makefiles 
over again.  (It will also attempt to update each of them over again,
but normally this will not change them again, since they are already up 
to date.)                        

3.5 Makefile是如何被重新生成的

有时makefile 可以从其他文件来重新生成,如 RCS/SCCC 文件。如果一个 makefile可以从其他文件来重新生成,你也许想让 make 去获取一个最新的 makefile版本来读入。

在这之后,当读取了所有的makefile,make 会把每一个都当作一个 终点目的并试图去更新之。

如果一个makefile有一个规则表明如何去更新(此规则或者在每一个makefile里,或者在其他makefile里),或一个隐式规则可以应用(*note Using Implicit Rules: Implicit Rules.),它将被根据需要得到更新。当所有的 makefile都被检查过了,如果确实有 makefile得到了更新,make会以一个 干净的规划开始并再次读取所有的 makefile。(它也试图去再次去改变这些makefile文件,但是由于它们都已经是最新状态,所以不会再被改变了)

后文待续

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