Une variable renvoie MINGW32_NT-5.1
ou CYGWIN_NT-5.1.
(oui, point à la fin)
Besoin de comparer le fait que var donné contient NT-5.1
positionné n'importe où.
Utiliser cygwin et aimerait être compatible avec à peu près n'importe quel * nix.
La fonction findstring est ce que votre cœur désire:
$(findstring
trouver,
dans)
Recherche dans une occurrence de find . Si cela se produit, la valeur est find ; sinon, la valeur est vide. Vous pouvez utiliser cette fonction au conditionnel pour tester la présence d'une sous-chaîne spécifique dans une chaîne donnée. Ainsi, les deux exemples,
$(findstring a,a b c) $(findstring a,b c)
produire les valeurs
"a"
et""
(la chaîne vide), respectivement. Voir Testing Flags , pour une application pratique defindstring
.
Quelque chose comme:
ifneq (,$(findstring NT-5.1,$(VARIABLE)))
# Found
else
# Not found
endif
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))"
Il correspond à la chaîne donnée et renvoie