• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Triton

Makefiles

3 mensagens neste tópico

Estou a fazer um projecto em C e decidi escrever um Makefile para facilitar a compilação do projecto.

Não tenho muita experiência com o GNU make por isso depois de muitas tentativas falhadas e de copiar ideias de alguns Makefiles que tinha para aqui, lá consegui fazer um que funciona.

A minha questão é se esta é a melhor forma de fazer o que pretendo, ou se existem alternativas mais flexíveis. ;)

# use gcc to compile
CC = gcc

# use gcc to link the files
LD = gcc

# compiler flags
XMLCFLAGS = $(shell xml2-config --cflags)
SDLCFLAGS = $(shell sdl-config --cflags)
CFLAGS = $(XMLCFLAGS) $(SDLCFLAGS) -Wall -pedantic

# linker flags
XMLLDFLAGS = $(shell xml2-config --libs)
SDLLDFLAGS = $(shell sdl-config --libs)
LDFLAGS =  $(XMLLDFLAGS) $(SDLLDFLAGS)

# source files
SOURCES = main.c
OBJECTS = $(SOURCES:.c=.o)

# executable name
EXECUTABLE=deadfall

all: $(SOURCES) $(EXECUTABLE)

# linking
$(EXECUTABLE): $(OBJECTS)
$(LD) $(LDFLAGS) $(OBJECTS) -o $(EXECUTABLE)

%.o: %.c
$(CC) $(CFLAGS) -c -$<

clean:
rm -rf *o

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não tenho a certeza mas acho que os parâmetros são case sensitive, experimenta -std=c99

EDIT: estive a testar no terminal é pelo menos aqui funciona assim.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não tenho a certeza mas acho que os parâmetros são case sensitive, experimenta -std=c99

EDIT: estive a testar no terminal é pelo menos aqui funciona assim.

rgcaldas, já resolvi esse problema, estava a tentar com dois hífenes. ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora