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

How to use environment variable PROGRAMFILES(X86) in a GNU makefile?

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

这是一个最小的例子:

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

如果我执行这个 makefile,我只会得到

DIR: )
x

虽然我预计:

DIR: C:\Program Files (x86)
x

知道如何在 GNU 生成文件中使用环境变量 PROGRAMFILES(X86) 吗?

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

Etan 想出了一个非常好的主意。 我做了一点修改,因此,以下内容确实有效:

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

不过我想出了一个更简单的方法:花括号似乎也能解决问题:

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

对于这两种解决方案,写 ProgramFiles(x86) 而不是大写 PROGRAMFILES(X86).

也很重要