make程序在读取多个makefile文件时,包括由环境变量“MAKEFILES”指定、命令行指定、当前工作下的默认的以及使用指示符“include”指定包含的,在这些文件进行解析执行之前make读取的文件名将会被自动依次追加到变量“MAKEFILE_LIST”的定义域中。
这样我们就可以通过测试此变量的最后一个字来获取当前make程序正在处理的makefile文件名。具体的说就是在一个makefile文件中如果使用指示符“include”包含另一个文件之后,变量“MAKEFILE_LIST”的最后一个字只可能是指示符“include”指定所要包含的那个文件的名字。一个makefile的内容如下:
执行 make,则看到的将是如下的结果: