我有一个包含空格的C INCLUDES的makefile。我无法绕过文件名中的空格。有没有办法在文件名中使用gnu make?
答案 0 :(得分:0)
通过转义文件名中的空格,Make有一些基本的支持,因为下面的Makefile将正确编译并重新编译C文件foo bar.c
:
foo\ bar: foo\ bar.c
gcc -o "${@}" "${<}"
但是,您必须非常小心地引用您运行的每个命令,并且以空格分隔的文件列表(例如SRCS
,LIBS
- 的变量将不起作用,尽管有可能通过使用Make text functions进行足够的黑客攻击,您可以解析引用并使一切正常运行......
因此,虽然在规则和模式中对文件名中的空格有基本的支持,但任何复杂的事情都将是非常困难和令人沮丧的工作。