2011-12-19 94 views
1

我有一个像aaa/bbb/ccc/xxx.html这样的变量,我需要在makefile中创建路径。所以我需要修改给定变量的文件位置,并使用mkdir -p aaa/bbb/ccc创建路径。如何从makefile中的变量(aaa/bbb/ccc/xxx.html)获取位置(aaa/bbb/ccc)?在Makefile中从文件的给定路径获取位置

+0

试试[$(dir names ...)](http://www.gnu.org/s/make/manual/html_node/File-Name-Functions.html)或'dirname'命令。 – 2011-12-19 10:33:23

+0

@Banthar:非常感谢。 'dirname'是为我工作的。 – 2011-12-19 11:59:36

回答

1

GNU make的dir函数提取路径的目录部分:

mkdirp -p $(dir [email protected]) 

生成规则的目标的目录,例如。比较notdirGNU make manual

+0

我不知道为什么''(dir $ @)'返回路径,并在开头加双引号,如''aaa/bbb/ccc /' – 2011-12-19 11:25:43

+0

@onuR:可能是由$ @中的双引号引起的。实际的Makefile,没有办法告诉。 – thiton 2011-12-19 11:27:36