如何在 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)
.
也很重要
我尝试在 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)
.