Verifique a versão do FreeBSD no Makefile

1

Eu tenho estas linhas no meu 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

E isso funciona como esperado. Mas eu descobri que algumas imagens do FreeBSD 7.3 mostram a saída como 7.2-RELEASE-p2 para o comando "uname -r". Eu não sei por que isso se comporta dessa maneira, mas eu deveria cobrir essa variante. Além disso, este Makefile (executado com o gmake) deve ser válido para o FreeBSD e o CentOS mais recentes. Então, qual é a melhor maneira de verificar se o sistema operacional é 7.3 ou 7.2?

    
por Sergius 05.09.2018 / 10:29

1 resposta

1

Você pode comparar uma string (uma palavra) a várias outras com filtro , que retorna qualquer um que corresponda à palavra. Por exemplo,

...
OLDER_FREEBSD  = 7.2-RELEASE-p2
M = $(filter $(PLATFORM),$(OLD_FREEBSD) $(OLDER_FREEBSD))
ifneq ($(M),)
...
    
por 05.09.2018 / 11:54

Tags