我们可以在makefile中取消定义/取消设置变量吗?

时间:2013-12-04 19:54:03

标签: makefile gnu-make

我有一个环境变量,我想在编译该特定项目时未定义/取消设置,然后启用它...

我尝试使用..以下代码..

ifdef ${ENV_VAR_TEST} undefine ${ENV_VAR_TEST} endif

但我仍然看到它在编译环境中得到反映......这些是未定义/取消设置变量的正确步骤吗?我在这里缺少一些基础知识..

感谢您的时间。

3 个答案:

答案 0 :(得分:7)

unexport ENV_VAR_TEST

我不知道undefine对其他人的意思,这看起来不像有效的make语法。

编辑: undefine确实存在,但只有在GNU中才会生成3.82及更高版本。

答案 1 :(得分:5)

正确的语法是

undefine ENV_VAR_TEST

答案 2 :(得分:2)

您必须将变量的NAME设置为取消定义。 Make会将参数展开为undefine,因此如果变量ENV_VAR_TEST设置为值foo,则undefine ${ENV_VAR_TEST}会运行undefine foo

您想使用undefine ENV_VAR_TEST