是否可以从Make中包含的文件中获取包含文件的路径?

时间:2014-03-13 16:31:33

标签: makefile

在Gnumake中,可以包含如下文件:

include some_file

我现在想知道,是否可以从 该文件中获取some_file的文件路径,例如做$(shell pwd)? (我知道该命令特别有效,因为它获取了工作目录的路径,而不是包含的文件。)

2 个答案:

答案 0 :(得分:1)

您可以使用MAKEFILE_LIST变量来获取它。该变量中的最后一个文件名将是当前的makefile,只要在包含任何其他文件之前检查它。基本上每次make读取一个新的makefile时,该makefile的名称都会添加到变量的末尾,但是即使在不再解析makefile之后也没有从变量中删除任何值:

THIS_MAKEFILE := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))

答案 1 :(得分:0)

我认为您可以使用readlink -f <file>命令获取文件的路径。你只需要在文件中知道文件名是什么,我假设你可以硬编码。