Makefile para C/C++
Este artigo foi arquivado. Isto significa que o artigo não será mais atualizado e pode conter erros ou omissões.
Em baixo segue um exemplo de um makefile para C ou C++. Tem função de compilação parcial (por omissão, não torna a compilar módulos não alterados), compilação total (rebuild) e limpeza de objetos (clean).
- flag
CC
contém o executável para o compilador a usar CFLAGS
contém as flags de compilação para os objetos .o,LDFLAGS
contém flags de compilação para o executávelSOURCES
indica quais os ficheiros fonte que devem ser compiladosEXECUTABLE
indica o nome do executável final a ser gerado
Makefile adpatado de http://mrbook.org/tutorials/make/
CC=g++
CFLAGS=-c -g -Wall
LDFLAGS=
SOURCES=adventure.cpp item.cpp weapon.cpp character.cpp hero.cpp bag.cpp
OBJECTS=$(SOURCES:.cpp=.o)
EXECUTABLE=adventure
build: $(SOURCES) $(EXECUTABLE)
$(EXECUTABLE): $(OBJECTS)
$(CC) $(LDFLAGS) $(OBJECTS) -o $@
.cpp.o:
$(CC) $(CFLAGS) $< -o $@
clean:
rm -rf *.o $(EXECUTABLE)
rebuild: clean build