如何在最后转义反斜杠以表示 Makefile 中的文字反斜杠?

问题描述 投票:0回答:2

这是我的 Makefile:

SLASH = \

all:
    echo '$(SLASH)'

这是输出:

$ make all
echo ''

$

最后的

\
表示
Makefile
中的行继续,所以它最终将一个空字符串分配给
SLASH
.

如何将文字反斜杠分配给

SLASH

makefile escaping gnu-make backslash
2个回答
5
投票

你可能可以使用一个虚拟的“空白”来愚弄

make
...

BLANK :=
SLASH = \$(BLANK)

all:
    echo '$(SLASH)'

以上给了我...

G.M> make -f how-to-escape-a-backslash-in-the-end-to-mean-literal-backslash-in-makefile.mk
echo '\'
\
G.M> 

0
投票

另一个技巧是在行尾附加

$ #

SLASH = \$ #

all:
    @echo '$(SLASH)'

make
手册中描述了类似的技巧3.1.1.

© www.soinside.com 2019 - 2024. All rights reserved.