Contents|Index|Previous|Next
The
override
directive
If a
variable has been set with a command argument (see Overriding
variables), then ordinary assignments in the makefile are ignored.
If you want to set the variable in the makefile even though it was set
with a command argument, you can use an override
directive which is a line looking like
override variable = value,
or override variable
:= value.
To append more text to a
variable defined on the command line, use the following example statement
as a declaration.
override variable +=
more text.
See Appending
more text to variables. The override
directive was not invented for escalation in the war between makefiles
and command arguments. It was invented so you can alter and add to values
that the user specifies with command arguments.
For example, suppose you
always want the ‘-g’
switch when you run the C compiler, but you would like to allow the user
to specify the other switches with a command argument just as usual. You
could use this override directive: override
CFLAGS += -g.
You can also use override
directives with define
directives. This is done as you might expect, as in the following.
override define foo
bar
endef
See Defining
variables verbatim for information about define.
Top|Contents|Index|Previous|Next