rendements variables MINGW32_NT-5.1
ou CYGWIN_NT-5.1.
(oui, point à la fin)Makefile:
besoin de comparer cette donnée var contient NT-5.1
positionné n'importe où. Utiliser cygwin et aimerait être compatible avec presque tous les * nix.
rendements variables MINGW32_NT-5.1
ou CYGWIN_NT-5.1.
(oui, point à la fin)Makefile:
besoin de comparer cette donnée var contient NT-5.1
positionné n'importe où. Utiliser cygwin et aimerait être compatible avec presque tous les * nix.
La fonction findstring est ce que votre cœur désire:
$(findstring
trouver,
dans)
Recherches à pour une occurrence de trouver. Si cela se produit, la valeur est find; sinon, la valeur est vide. Vous pouvez utiliser cette fonction dans un 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)
produisent 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 et retourne
et lis s mieux que la réponse acceptée, OMI. –
Grand, exactement ce que je veux. Juste une question - quelle est la virgule ici pour 'ifneq (, $ (...' – Pablo
Analyser comme 'ifneq (A, B)' où A est la chaîne vide et B est '$ (findstring ...)' Cela semble étrange parce que vous ne citez pas les chaînes dans Makefiles –
Est-ce que 'findstring' est sensible à la casse? Si oui, y a-t-il un moyen simple de faire la correspondance insensible à la casse? ... –