GNU make manual 翻译(四十四)

继续翻译

   If the specified name does not start with a slash, and the file is 
not found in the current directory, several other directories are 
searched.  First, any directories you have specified with the `-I' or
`--include-dir' option are searched (*note Summary of Options: Options 
Summary.).  Then the following directories (if they exist) are                        searched, in this order: `PREFIX/include' (normally `/usr/local/include'
(1)) `/usr/gnu/include', `/usr/local/include', `/usr/include'.                        
                        
   If an included makefile cannot be found in any of these directories,
a warning message is generated, but it is not an immediately fatal 
error; processing of the makefile containing the `include' continues. 
Once it has finished reading makefiles, `make' will try to remake any 
that are out of date or don't exist.  *Note How Makefiles Are Remade: 
Remaking Makefiles.  Only after it has tried to find a way to remake a 
makefile and failed, will `make' diagnose the missing makefile as a 
fatal error.                        

如果指定的名字并不是以 / 开始,而且此文件也并不在当前目录里,那么有几个其他的目录会被搜索。

首先是 你通过 -I 或者 --include-dir 指定的目录。

然后是如下一些目录: PREFIX/include(通常是: /usr/local/include), /usr/gnu/include, /usr/local/include/, /usr/include

如果一个要包含的 makefile 根本没有出现在上述任何一个目录里面,会得到一个警告信息。但这并不是一个严重错误,发出include 动作的makefile得以被继续处理。当完成对makefile的读取后,make 将会使这重新生成任何旧的或者不存在的 makefile。

*Note How Makefiles Are Remade: Remaking Makefiles.

只有当 make 试图重新生成一个 makefile 失败是,才会认定发生了一个严重错误。

后文待续

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