将GNUMake与包含空格的文件名一起使用的最可靠方法是什么?

dem*_*key 7 windows filenames space gnu-make

我想使用GNUMake来运行基于规则的makefile,它在目录结构中(在Windows文件系统上)构建一组C文件.

根目录,一些子目录和一些文件包含空格.

示例文件: "C:\Documents and Settings\<username>\My Documents\Test Dir\Build Me.c"

当文件路径包含空格时,GNUMake不起作用.我读过有关解决此问题的工作(从我的文件名去掉空格,使用8.3格式,替代空间的可能途径?或\\等),但他们都不是完美的(或者是他们?)

有没有银弹可以解决这个问题?

顺便说一下,我坚持使用GNUMake,我不能使用不同的制作工具.

Dan*_*ane 2

您也许能够转义 makefile 中的空格,即:

$(CC) $(CFLAGS) 'C:\Documents\ and\ Settings\<username>\My\ Documents\Test\ Dir\Build Me.c'
Run Code Online (Sandbox Code Playgroud)

我添加了单引号以防万一,但我不知道如果您使用的是 Windows 终端(而不是 cygwin 等),这是否有效。