make also supports other special variables. Unless
otherwise documented here, these values lose their special properties
if they are set by a makefile or on the command line.
.DEFAULT_GOALvariable allows you to discover the current default goal, restart the default goal selection algorithm by clearing its value, or to explicitly set the default goal. The following example illustrates these cases:
# Query the default goal. ifeq ($(.DEFAULT_GOAL),) $(warning no default goal is set) endif .PHONY: foo foo: ; @echo $@ $(warning default goal is $(.DEFAULT_GOAL)) # Reset the default goal. .DEFAULT_GOAL := .PHONY: bar bar: ; @echo $@ $(warning default goal is $(.DEFAULT_GOAL)) # Set our own. .DEFAULT_GOAL := foo
This makefile prints:
no default goal is set default goal is foo default goal is bar foo
Note that assigning more than one target name to
illegal and will result in an error.
makehas restarted (see How Makefiles Are Remade): it will contain the number of times this instance has restarted. Note this is not the same as recursion (counted by the
MAKELEVELvariable). You should not set, modify, or export this variable.
make. Possible values include:
ar(archive) files using special filename syntax. See Using
maketo Update Archive Files.
--check-symlink-times) flag. See Summary of Options.
makesearches for included makefiles (see Including Other Makefiles).