如何在 Makefile.am 中调整 PATH 变量?

Posted

技术标签:

【中文标题】如何在 Makefile.am 中调整 PATH 变量?【英文标题】:How to adapt PATH variable in Makefile.am? 【发布时间】:2019-11-19 10:49:57 【问题描述】:

在文件Makefile.am 中,我正在使用这样的东西:

PATH := $(PWD)/.tools/bin:$(PATH)

运行configure.ac 时出现此错误:

Makefile.am:3: warning: ':='-style assignments are not portable

我使用赋值运算符= 会导致递归问题。

所以我想知道如何在 Makefile.am 中调整 PATH 变量而不会出现这个问题?

【问题讨论】:

【参考方案1】:

如果我真的需要在规则中更改 shell 的 PATH,我会在那里设置一个 shell 变量 PATH,而不是一个 make 变量 PATH:

foo.h: foo.src
        PATH="$$PATH:$$(pwd)/.tools/bin"; \
        my-tool foo.src > foo.h

但是,如果我需要该目录中的my-tool,为什么不首先使用正确的路径调用my-tool

foo.h: foo.src .tools/bin/my-tool
        ./.tools/bin/my-tool foo.src > foo.h

【讨论】:

以上是关于如何在 Makefile.am 中调整 PATH 变量?的主要内容,如果未能解决你的问题,请参考以下文章

我应该如何从 Makefile.am 运行预构建的 Makefile?

如何在 Makefile.am 中指定我想要 C++0x?

如何影响目标的顺序,为 Makefile.am 添加额外的步骤等?

如何将预单元测试步骤添加到我的*** Makefile.am?

懒人学习automake, Makefile.am,configure.ac

懒人学习automake, Makefile.am,configure.ac(转)