我正在处理某个目录“ DirA”中存在的Makefile。我需要另一个路径“ DirB”的绝对路径。我如何在Makefile中获取它。
下面的内容适用于bash脚本,如何在Makefile中获取相同的内容。
SRCDIR = ./../../somepath/DirB
ABS_PATH=$(realpath $(DirB))
我也尝试使用$ {CURDIR}:
ABS_PATH = "${CURDIR}/../../somepath/DirB"
但是,这又是一条相对路径。
答案 0 :(得分:5)
以下代码适用于从任何目录调用的Makefile:
mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST)))
current_dir := $(notdir $(patsubst %/,%,$(dir $(mkfile_path))))
其他:
ROOT_DIR:=$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
这是它的工作方式:
$ cd /home/user/
$ make -f test/Makefile
/home/user/test
$ cd test; make Makefile
/home/user/test