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

Lon*_*ner 2 makefile escaping gnu-make backslash

这是我的 Makefile:

SLASH = \

all:
    echo '$(SLASH)'
Run Code Online (Sandbox Code Playgroud)

这是输出:

$ make all
echo ''

$
Run Code Online (Sandbox Code Playgroud)

\最后的意思是在 中继续行,Makefile所以它最终将一个空字符串分配给SLASH

如何将文字反斜杠分配给SLASH

G.M*_*.M. 5

你也许可以用一个虚拟的“空白”来愚弄make......

BLANK :=
SLASH = \$(BLANK)

all:
    echo '$(SLASH)'
Run Code Online (Sandbox Code Playgroud)

以上给了我...

G.M> make -f how-to-escape-a-backslash-in-the-end-to-mean-literal-backslash-in-makefile.mk
echo '\'
\
G.M> 
Run Code Online (Sandbox Code Playgroud)