A variable returns MINGW32_NT-5.1
or CYGWIN_NT-5.1.
(yea, dot at the end)
Need to compare that given var contains NT-5.1
positioned anywhere.
Using cygwin and would like to be compatible with pretty much any *nix.
The ifdef directive begins the conditional, and specifies the condition. It contains single argument. If the given argument is true then condition becomes true. The ifndef directive begins the conditional, and specifies the condition.
The ifeq directive begins the conditional, and specifies the condition. It contains two arguments, separated by a comma and surrounded by parentheses. Variable substitution is performed on both arguments and then they are compared.
$(strip string ) Removes leading and trailing whitespace from string and replaces each internal sequence of one or more whitespace characters with a single space. Thus, ' $(strip a b c ) ' results in ' a b c '. The function strip can be very useful when used in conjunction with conditionals.
The findstring function is what your heart desires:
$(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. See Testing Flags, for a practical application offindstring
.
Something like:
ifneq (,$(findstring NT-5.1,$(VARIABLE))) # Found else # Not found endif
What is the comma here for
ifneq (,$(...
?
Parse it as ifneq(A,B)
where A is the empty string and B is $(findstring...)
. It looks odd because you don't quote strings in Makefiles.
VARIABLE=NT-5.1_Can_be_any_string ifeq ($(findstring NT-5.1,$(VARIABLE)),NT-5.1) # Found RESULT=found else # Not found RESULT=notfound endif all: @echo "RESULT=${RESULT} , output=$(findstring NT-5.1,$(VARIABLE))"
It matches the given string and returns
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With