|GNU Make Manual||www.imodulo.com · 2003-04-05|
|[ Software | Documentation | Contact ]|
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
|© Free Software Foundation, Inc.|