博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GNU make manual 翻译(八十八)
阅读量:6243 次
发布时间:2019-06-22

本文共 2734 字,大约阅读时间需要 9 分钟。

继续翻译

4.5.1 `VPATH': Search Path for All Prerequisites                        ------------------------------------------------                                                The value of the `make' variable `VPATH' specifies a list of directories that `make' should search.  Most often, the directories are expected to contain prerequisite files that are not in the current directory; however, `make' uses `VPATH' as a search list for both  prerequisites and targets of rules.                                                   Thus, if a file that is listed as a target or prerequisite does not exist in the current directory, `make' searches the directories listed in `VPATH' for a file with that name.  If a file is found in one of them, that file may become the prerequisite (see below).  Rules may then specify the names of files in the prerequisite list as if they all existed in the current directory.  *Note Writing Recipes with Directory Search: Recipes/Search.                                                   In the `VPATH' variable, directory names are separated by colons or blanks.  The order in which directories are listed is the order followed by `make' in its search.  (On MS-DOS and MS-Windows, semi-colons are used as separators of directory names in `VPATH', since the colon can be used in the pathname itself, after the drive letter.)                                                   For example,                              VPATH = src:../headers                                                specifies a path containing two directories, `src' and `../headers', which `make' searches in that order. With this value of `VPATH', the following rule,                               foo.o : foo.c                                                is interpreted as if it were written like this:     foo.o : src/foo.c                                                assuming the file `foo.c' does not exist in the current directory but is found in the directory `src'.

4.5.1 `VPATH': 所有前提条件的搜索路径 

------------------------------------------------

make 变量 VPATH 指定了一个make 可以搜索的目录列表。经常性的,这些目录被期待包含了不在当前目录下的前提条件;然后,make 使用 VPATH 来作为 规则的前提条件 和 目的的搜索列表。

因此,如果个列为目的或者前提条件列表之一的文件如果不在当前目录中,make 会去搜索列在 VPATH 中的文件名。如果在此列表所指目录之一找到了这个文件,那么此文件就可以成为前提条件(参看下面)。

规则可以就好像此文件存在于当前目录中一样,把此文件名作为前提条件之一。*Note Writing Recipes with Directory Search: Recipes/Search.

在 VPATH 变量中,目录名用 冒号或者空格分隔。 列表中的目录顺序就是make 搜索的顺序。(在 MS-DOS 和 MS-Windows 系统,分隔目录名用分号,因为冒号被用作路径名本身,紧随驱动器名之后)

例如:

VPATH = src:../headers
指定了一个包含两个目录的路径,src 和 ../headers,make将按照这个顺序搜索。

根据上述VPATH 的值,下列规则,

foo.o : foo.c
被翻译为如下的样子:
foo.o : src/foo.c
(在foo.c 不在当前目录并且在 src目录下被找到的情况下。)

后文待续

本文转自健哥的数据花园博客园博客,原文链接:http://www.cnblogs.com/gaojian/archive/2012/09/19/2693761.html,如需转载请自行联系原作者

你可能感兴趣的文章
NET生成缩略图
查看>>
微软企业库5.0 学习之路——第二步、使用VS2010+Data Access模块建立多数据库项目...
查看>>
渗流稳定性分析(MATLAB实现)
查看>>
POJ2253 Frogger(最短路径)
查看>>
动画总结?
查看>>
HDU 2044 一只小蜜蜂 *
查看>>
Java 斜杠 与 反斜杠
查看>>
垂直居中
查看>>
idea下maven项目,样式css、js更新后,页面不显示更新内容
查看>>
bzoj 1001 平面图转对偶图 最短路求图最小割
查看>>
php 记住密码自动登录
查看>>
NSThread创建线程的三种方法
查看>>
Logger.getLogger与LogFactory.getLog
查看>>
HDU4671 Backup Plan(构造序列-多校七)
查看>>
一些难得一见的代码问题
查看>>
Read–eval–print loop
查看>>
如果我是面试官 我要出什么题目(常更新)
查看>>
初识nginx
查看>>
React Native
查看>>
最优化
查看>>