$(findstring find,in)
- Searches in for an occurrence of find. If it occurs, the value is find; otherwise, the value is empty. You can use this function in a conditional to test for the presence of a specific substring in a given string. Thus, the two examples,
$(findstring a,a b c)
$(findstring a,b c) - produce the values `a' and `' (the empty string), respectively.
You can write a conditional that tests make
command flags such as `-t' by using the variable MAKEFLAGS
together with the findstring
function (see section 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 section Recursive Use of make
.
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.