Makefile identificando a plataforma ? [RESOLVIDO]

1. Makefile identificando a plataforma ? [RESOLVIDO]

???
gokernel

(usa Linux Mint)

Enviado em 13/03/2012 - 17:27h


Olá Pessoal !

Como faço em um Makefile para identificar a Plataforma(Windows, Linux) ???

Pois tenho no Makefile +ou- assim:
------------------------------------------------------------
...
# Gerando o DLL para o Windows

DLLWRAP=dllwrap --output-def libas.def --implib libas.a $(OBJ) -lSDL --no-export-all-symbols --add-stdcall-alias -o libas.dll

...
------------------------------------------------------------

Grato !


  


2. MELHOR RESPOSTA

Marcelo A. B. Slomp
mslomp

(usa Slackware)

Enviado em 13/03/2012 - 21:09h

basta você determinar a plataforma previamente, e então em seu alvo (nesse exemplo, all) você instrui a compilação conforme a plataforma atual:


UNAME = $(shell uname)
ifeq ($(UNAME), Linux)
PLATFORM=LIN
else
ifneq (,$(findstring MINGW,$(UNAME)))
PLATFORM=WIN
endif
ifneq (,$(findstring CYGWIN,$(UNAME)))
PLATFORM=WIN
endif
endif

all:
ifeq ($(PLATFORM), WIN)
# seus comandos e/ou definições para compilar para windows aqui
@echo "compilando para Windows..."
endif
ifeq ($(PLATFORM), LIN)
# seus comandos e/ou definições para compilar para linux aqui
@echo "compilando para Linux..."
endif


3. Re: Makefile identificando a plataforma ? [RESOLVIDO]

Marcelo A. B. Slomp
mslomp

(usa Slackware)

Enviado em 13/03/2012 - 19:06h

você pode verificar a plataforma através de uname, e então determinar se está sob MinGW ou Cygwin
exemplo:


UNAME := $(shell uname)

all:
ifneq (,$(findstring MINGW,$(UNAME)))
@echo "Win (MinGW)"
endif
ifneq (,$(findstring CYGWIN,$(UNAME)))
@echo "Win (Cygwin)"
endif
ifeq ($(UNAME), Linux)
@echo Linux
endif



4. Re: Makefile identificando a plataforma ? [RESOLVIDO]

???
gokernel

(usa Linux Mint)

Enviado em 13/03/2012 - 19:17h


Ixi ! , assim complicou. ;)

É que para Window queria Gerar um ( .dll ) e compilando no Linux gerar um ( .so ).

Acho que vou distribuir com 2 Makefiles ... makefiles não eh comigo.


Grato !







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts