Makefiles、符号链接文件夹和相对路径
假设我有以下文件夹:
/A/C
/D/B/E
/D/B/C (这是由 ln -s 创建的 /A/C 的符号链接)
当其中一个 makefile 尝试使用该路径时/D/B/C/../E 它收到“没有文件或目录”错误。我明白为什么会发生这种情况; /A/E 不存在。但是我必须使用符号链接来填充 B 文件夹并创建构建树(很长的故事)。
有什么想法吗?
Let say I have the following folders:
/A/C
/D/B/E
/D/B/C (this is a symlink to /A/C created by ln -s)
When one of the makefiles tries to use the path /D/B/C/../E it gets a "no file or directory" error. I understand why this happens; /A/E does not exist. However I have to use symlinks to populate the B folder and create the build tree (very long story).
Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我更改了链接文件夹的方式:
/D/B/C 现在是指向 ../../A/C 的链接,而不是 /A/C
I have changed the way I link the folders:
/D/B/C is now a link to ../../A/C insted of /A/C
我无法想象你如何构建像“D/B/C/../E”这样的路径,但你可以进行一些文本处理来清理它。
使用 Make 函数可以做到这一点,但有点难看。我建议将其委托给 shell:
I can't imagine how you constructed a path like "D/B/C/../E", but you could do some text processing to clean it up.
Doing it with the Make functions is possible, but kind of ugly. I recommend delegating it to the shell: