Home GNU Make Manual www.imodulo.com · 2003-04-05
Imodulo

Testing Flags

[ Up: Conditionals ]
[ Previous: Conditional Syntax ]

Conditionals that Test Flags

You can write a conditional that tests make command flags such as -t by using the variable MAKEFLAGS together with the findstring function (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. Recursive Use of make.