gnu在目录名vpath中创建空格

时间:2014-10-20 22:20:33

标签: c++ c makefile gnu

我们一直试图使VPATHvpath搜索包含空格字符的目录失败。

我的makefile包含:

vpath %cpp RTW/ModelRTW RTW/StandardTests RTW/TestFramework RTW/TestFromFile ../../../CommonCode ../04_Model/DLib/ ../04 Model/ELib/

make -p返回:

.
.
vpath %cpp RTW/ModelRTW:RTW/StandardTests:RTW/TestFramework:RTW/TestFromFile:../../../CommonCode:../04_Model/DLib

我试过引用,逃避' \'和其他几个化身无济于事。

任何帮助都会被大家接受。

2 个答案:

答案 0 :(得分:2)

可悲的是,这是一个very old known defect, #712,自2002年报道以来,人们已经多次关注它。

GNU make不会处理名称中的空格,也永远不会。

如果你确实尝试修补它,那么你将面临严峻的挑战,因为大量的项目依赖它。需要空白支持的人转向更高级的构建系统。几十年来,已经有许多构建脚本工具,但尽管存在许多重大问题,但仍然坚持不懈。标签和空格的制作格式已经让开发人员烦恼了将近40年。

源可用,如果您愿意,可随意尝试修补它。大多数尝试最终放弃或制作另一个构建脚本系统的开发人员。

答案 1 :(得分:0)

最好的方法是编写一个m脚本,将文件复制到路径无空间的构建目录中。 如果你使用Simulink,那么在“before_make”钩子上调用m脚本。