如何在Makefile中获取当前目录的父目录名?

假设我有 Makefile/myPDir/myCurrDir. 在一个 Makefile 我可以检索到当前目录的名称为。

CURR_DIR_NAME  := $(notdir $(CURDIR))
$(warning CURR_DIR_NAME IS $(CURR_DIR_NAME))

或者

CURR_DIR_NAME  := $(shell basename $(CURDIR))
$(warning CURR_DIR_NAME IS $(CURR_DIR_NAME))

在这两种情况下,第二行将打印 myCurrDir.

现在我想获得父目录的名称,即 myPDir. 我试着用 $(CURDIR), $(CURDIR)/.. 但它不工作,打印 ....

如何才能引用父目录的名称,即得到字符串。myCurrDir 中的一个变量,作为 Makefile?

解决方案:

类似这样的命令 notdir 或外壳的 basedir 是简单的文本字符串解析器。 所以如果你说 basename foo/.. 它只是返回 .. 因为那是路径上的最后一个元素。

如果你想要父目录,有多种方法可以实现。 一个简单的方法是使用 make abspath 函数,将相对路径转换为绝对路径。$(abspath /foo/bar/biz/..) 将返回 /foo/bar. 所以,你可以用。

PARENT = $(notdir $(abspath $(CURDIR)/..))

给TA打赏
共{{data.count}}人
人已打赏
未分类

当重新渲染reactjs时,停止滚动条移动到顶部。

2022-9-20 17:14:19

未分类

在房间里查询构造(Android Kotlin)。

2022-9-20 17:14:21

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索