我想告诉 (g)make 从一个单独的文件中包含一些常见的初始化,知道包含的文件相对于主 Makefile 的相对位置。
但是,在手册中,我找不到任何内置变量,例如,可以为您提供当前 Makefile 的名称。
例如,如果我想将文件的内容包含在与当前 make 文件相同的目录中,而不是硬连接包含的位置:
# MAIN Makefile : ./scripts/make/TaskA.mk
include ./scripts/make/Common.inc
...
假设_MAKEFILE_
包含 TaskA.mk 位置,我想写如下内容:
# MAIN Makefile : ./scripts/make/TaskA.mk
MAKEFILE_DIR=$(dirname $(_MAKE_FILE_))
include $(MAKEFILE_DIR)/Common.inc