Node:Testing Flags, Previous:Conditional Syntax, Up:Conditionals

### 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 (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`.