我正在尝试自动处理有时包含与GNU Make“等号”的文件。例如,假设文件名为hello=world.txt
,Makefile
如下:
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.
你怎么能逃脱等号?我试过反斜杠,双引号和单引号。有什么想法吗?
答案 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中,必须通过%
转义特殊字符