首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在makefile中,如何获取从一个绝对路径到另一个绝对路径的相对路径?

在Makefile中,可以使用shell命令来获取从一个绝对路径到另一个绝对路径的相对路径。具体方法如下:

  1. 使用cd命令切换到第一个绝对路径目录。
  2. 使用pwd命令获取当前目录的绝对路径。
  3. 使用cd命令切换到第二个绝对路径目录。
  4. 使用pwd命令获取当前目录的绝对路径。
  5. 使用realpath命令获取两个绝对路径之间的相对路径。

以下是一个示例Makefile规则,用于获取从/home/user/project/home/user/project/src的相对路径:

代码语言:makefile
复制
relative_path := $(shell cd /home/user/project && pwd)
relative_path := $(shell cd /home/user/project/src && pwd)
relative_path := $(shell realpath --relative-to=$(relative_path) $(shell pwd))

all:
    @echo "Relative path: $(relative_path)"

在这个示例中,我们首先使用cdpwd命令获取两个绝对路径的绝对路径,然后使用realpath命令获取相对路径。最后,我们在all目标中输出相对路径。

需要注意的是,这个方法依赖于realpath命令,该命令在大多数Linux发行版中都可用,但在macOS中可能不可用。在macOS中,可以使用brew install coreutils安装realpath命令。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券