首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当用作目标特定值时,VPATH无法工作。

当用作目标特定值时,VPATH无法工作。
EN

Stack Overflow用户
提问于 2018-03-27 19:53:54
回答 1查看 467关注 0票数 0

我需要指出我缺少的关于制作文件的东西。对于给定的makefile:

代码语言:javascript
复制
VPATH=
targ1: VPATH=src
targ1: targ2

targ2: targ2
    echo $(VPATH)

和空的src direcotry,每次调用“maketarg1”时,我都会如愿以偿:

代码语言:javascript
复制
echo src
src

由于makefile目录和src目录中没有文件targ2,所以需要更新targ2。

但问题是,即使我在src目录中创建targ2文件,每次调用“make 1”时,都会更新targ2。在这种情况下,VPATH没有按预期工作。

make变量VPATH的值指定了应该搜索的目录列表。大多数情况下,期望目录包含不在当前目录中的先决条件文件;但是,请将VPATH用作规则的先决条件和目标的搜索列表。

但是,当我在全局范围内设置VPATH时,不存在这样的问题:

代码语言:javascript
复制
VPATH=src
targ1: VPATH=src
targ1: targ2

targ2: targ2
    echo $(VPATH)

结果是:‘targ1 1’没有什么可做的。

为何会有这样的分别呢?

EN

回答 1

Stack Overflow用户

发布于 2018-03-27 23:20:46

与自动变量一样,目标特定值仅在目标配方的上下文中可用.

因此,在您的第一个示例中,您提供给VPATH的值无法用于查找先决条件targ2

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49521378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档