Detectar se o Ubuntu Linux OS no Makefile

13

Eu quero criar um makefile que irá compilar meus objetos e nomeá-los de acordo com a distribuição do Linux (por exemplo, Suse, RedHat ou Ubuntu). Como posso detectar se o SO é Ubuntu ou não?

    
por RRR 08.04.2013 / 10:34

1 resposta

19

Usamos cat /etc/lsb-release para identificar o lançamento do Ubuntu:

sh-3.2$  cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=8.04
DISTRIB_CODENAME=hardy
DISTRIB_DESCRIPTION="Ubuntu 8.04.4 LTS"

Para outros lançamentos, pode ser

ls /etc/*release

Gentoo, RedHat, Arch & amp; SuSE todos têm um arquivo de lançamento: link Este é um script completo no link;)

Exemplo de código para sistema operacional, arquitetura e versão para sistemas de tipos do Ubuntu:

OS=$(shell lsb_release -si)
ARCH=$(shell uname -m | sed 's/x86_//;s/i[3-6]86/32/')
VER=$(shell lsb_release -sr)
    
por Rinzwind 08.04.2013 / 10:39

Tags