[英]How to get the name the parent directory of the current directory within a Makefile?
假设我在/myPDir/myCurrDir
Makefile
在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
或 shell 的basedir
等命令是简单的文本字符串解析器。 因此,如果您说basename foo/..
它只返回..
因为这是路径上的最后一个元素。
如果你想要父目录,有多种方法可以做到这一点。 一种简单的方法是使用 make abspath
function 将相对路径转换为绝对路径: $(abspath /foo/bar/biz/..)
将返回/foo/bar
。 因此,您可以使用:
PARENT = $(notdir $(abspath $(CURDIR)/..))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.