Detectar se o seu Ubuntu Linux OS no Makefile


13

Eu quero criar um makefile que compile meus objetos e os nomeie de acordo com a distribuição Linux (por exemplo, Suse, RedHat ou Ubuntu). Como posso detectar se o SO é Ubuntu ou não?


conseguiu funcionar? (desde que você excluiu seu comentário: D)
Rinzwind 08/04

sim, mudei o var do sistema operacional para "shell lsb_release -si" e agora funciona bem :). Obrigado pela sua resposta!
RRR

+1 para o título engraçado. (dica: Makefile e fazer arquivo significar coisas totalmente diferentes.)
Mahesh

Respostas:


19

Usamos cat /etc/lsb-releasepara identificar a versão 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

O Gentoo, RedHat, Arch & SuSE têm um arquivo de lançamento: http://linuxmafia.com/faq/Admin/release-files.html Este é um script completo no link;)


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

OS=$(shell lsb_release -si)
ARCH=$(shell uname -m | sed 's/x86_//;s/i[3-6]86/32/')
VER=$(shell lsb_release -sr)
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.