| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
MAKEFILE_LIST
As make reads various makefiles, including any obtained from the
MAKEFILES variable, the command line, the default files, or
from include directives, their names will be automatically
appended to the MAKEFILE_LIST variable. They are added right
before make begins to parse them.
This means that if the first thing a makefile does is examine the last
word in this variable, it will be the name of the current makefile.
Once the current makefile has used include, however, the last
word will be the just-included makefile.
If a makefile named Makefile has this content:
name1 := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
include inc.mk
name2 := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
all:
@echo name1 = $(name1)
@echo name2 = $(name2)
|
then you would expect to see this output:
name1 = Makefile name2 = inc.mk |
See section 8.2 Functions for String Substitution and Analysis, for more information on the word and
words functions used above. See section The Two Flavors of Variables, for more information on simply-expanded (:=)
variable definitions.