如何在GNU makefile中使用环境varialbe PROGRAMFILES(X86)?

时间:2016-01-28 14:56:33

标签: makefile environment-variables gnu-make

我尝试在GNU makefile中使用Windows 7的环境变量PROGRAMFILES(X86)但没有成功。

这是一个最小的例子:

$(info DIR: $(PROGRAMFILES(X86)))
nop:
    @echo x 

如果我执行这个makefile,我只能

DIR: )
x

虽然我期待:

DIR: C:\Program Files (x86)
x

知道如何在GNU makefile中使用环境变量PROGRAMFILES(X86)吗?

我在Cygwin上使用GNU make version 4.1(在本机Windows上使用版本3.81)。 我知道还有环境变量“PROGRAMFILES”,但我真的需要“PROGRAMFILES(X86)”

1 个答案:

答案 0 :(得分:3)

Etan提出了一个非常好的想法。 我做了一些修改,因此,以下实际上有效:

b1 := (
b2 := )
$(info DIR: $(ProgramFiles$(b1)x86$(b2)) )
nop:
    @echo x 

然而,我想出了一个更简单的方法:大括号似乎也可以做到这一点:

$(info DIR: ${ProgramFiles(x86)} )
nop:
    @echo x     

对于这两种解决方案,编写ProgramFiles(x86)而不是大写PROGRAMFILES(X86)也很重要。