Make-файл содержит строку


переменной возвращает MINGW32_NT-5.1 или CYGWIN_NT-5.1. (да, точка в конце)

нужно сравнить, что данный var содержит NT-5.1 установить в любом месте.

С помощью cygwin и хотел бы быть совместим с почти любой * nix.

2   51   2010-04-30 04:59:37

2 ответа:

The findstring функция-это то, что желает ваше сердце:

$(findstringнайти,на)

Поиск на по страховому случаю от найти. Если это происходит, то значение найти; в противном случае значение остается пустым. Вы можете использовать эту функцию в условном выражении для проверки наличия определенной подстроки в данной строке. Таким образом, два примеры,

$(findstring a,a b c)
$(findstring a,b c)

произвести значений "a" и "" (пустая строка), соответственно. Смотрите Тестирование Флаги, для практического применения findstring.

что-то типа:

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))"

он соответствует заданной строке и возвращает