在Gnumake中,可以包含如下文件:
include some_file
我现在想知道,是否可以从 该文件中获取some_file
的文件路径,例如做$(shell pwd)
? (我知道该命令特别有效,因为它获取了工作目录的路径,而不是包含的文件。)
答案 0 :(得分:1)
您可以使用MAKEFILE_LIST
变量来获取它。该变量中的最后一个文件名将是当前的makefile,只要在包含任何其他文件之前检查它。基本上每次make读取一个新的makefile时,该makefile的名称都会添加到变量的末尾,但是即使在不再解析makefile之后也没有从变量中删除任何值:
THIS_MAKEFILE := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
答案 1 :(得分:0)
我认为您可以使用readlink -f <file>
命令获取文件的路径。你只需要在文件中知道文件名是什么,我假设你可以硬编码。