防止GNU make扩展环境变量中的美元符号

时间:2015-01-07 15:03:39

标签: makefile environment-variables

有没有办法在环境变量中使GNU Make解释美元符号?

拿这个makefile:

echoFOO:
        echo '$(FOO)'

像这样运行:

$ FOO='a$bc' make
echo 'ac'
ac

我想这样从字面上回复一个$ bc,但是我无法找到一种让GNU Make远离环境变量的方法。

1 个答案:

答案 0 :(得分:2)

获得我想要的结果的两种方法。与两者进行权衡。

$ cat Makefile
all: echoFOO echovFOO

echoFOO:
        echo '$(FOO)'

echovFOO:
        echo '$(value vFOO)'
$ FOO='a$$bc' vFOO='a$bc' make
echo 'a$bc'
a$bc
echo 'a$bc'
a$bc