Makefile,符号链接文件夹&相对路径

时间:2010-03-31 21:49:51

标签: makefile relative-path symlink

假设我有以下文件夹:

/ A / C

/ d / B / E

/ D / B / C(这是由ln -s创建的/ A / C的符号链接)

当其中一个makefile试图使用路径/D/B/C/../E时,它会收到“无文件或目录”错误。我明白为什么会这样; / A / E不存在。但是我必须使用符号链接来填充B文件夹并创建构建树(非常长的故事)。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

我无法想象你是如何构建像“D / B / C /../ E”这样的路径,但你可以做一些文本处理来清理它。

使用Make功能可以实现,但有点难看。我建议将它委托给shell:

PATH := $(shell echo $(PATH) | sed '|/[^/]*/\.\.||g')

答案 1 :(得分:0)

我改变了链接文件夹的方式:

/ D / B / C现在是一个链接到../../A/C insted / A / C