Previous: Conditional Syntax, Up: Conditionals
You can write a conditional that tests make
command flags such as
`-t' by using the variable MAKEFLAGS
together with the
findstring
function
(see Functions for String Substitution and Analysis).
This is useful when touch
is not enough to make a file appear up
to date.
The findstring
function determines whether one string appears as a
substring of another. If you want to test for the `-t' flag,
use `t' as the first string and the value of MAKEFLAGS
as
the other.
For example, here is how to arrange to use `ranlib -t' to finish marking an archive file up to date:
archive.a: ... ifneq (,$(findstring t,$(MAKEFLAGS))) +touch archive.a +ranlib -t archive.a else ranlib archive.a endif
The `+' prefix marks those command lines as “recursive” so
that they will be executed despite use of the `-t' flag.
See Recursive Use of make
.