Проверьте версию FreeBSD в Makefile

У меня есть эти строки в моем Makefile:

PLATFORM = $(shell uname -r) OLD_FREEBSD = 7.3-RELEASE-p2 ifeq ($(OLD_FREEBSD), $(findstring $(OLD_FREEBSD),$(PLATFORM))) ... do some stuff ... else ... do some other stuff ... endif 

И это работает как ожидалось. Но я понял, что некоторые образы FreeBSD 7.3 показывают вывод как 7.2-RELEASE-p2 для команды “uname -r”. Я не знаю, почему так себя ведет, но я должен рассмотреть этот вариант. Кроме того, этот Makefile (запускаемый с gmake) должен быть действителен для более новых FreeBSD и CentOS. Итак, каков наилучший способ убедиться, что ОС является 7.3 или 7.2?

One Solution collect form web for “Проверьте версию FreeBSD в Makefile”

Вы можете сравнить строку (слово) с несколькими другими с помощью фильтра , который возвращает любую строку, соответствующую слову. Например,

 ... OLDER_FREEBSD = 7.2-RELEASE-p2 M = $(filter $(PLATFORM),$(OLD_FREEBSD) $(OLDER_FREEBSD)) ifneq ($(M),) ... 
Linux и Unix - лучшая ОС в мире.