如何在GNU Make中处理等号的文件名?

时间:2016-03-29 18:07:17

标签: makefile escaping gnu-make

我正在尝试自动处理有时包含与GNU Make“等号”的文件。例如,假设文件名为hello=world.txtMakefile如下:

default: hello=world.txt.gz

hello=world.txt.gz : hello=world.txt
        gzip hello=world.txt
        echo done

您收到以下错误:

test.make:5: *** commands commence before first target.  Stop.

你怎么能逃脱等号?我试过反斜杠,双引号和单引号。有什么想法吗?

2 个答案:

答案 0 :(得分:3)

这是一个解决方案:

equal := =
default: hello$(equal)world.txt.gz

hello$(equal)world.txt.gz : hello$(equal)world.txt
    gzip hello$(equal)world.txt
    echo done

答案 1 :(得分:0)

使用%= 在makefile中,必须通过%

转义特殊字符