Fazendo um MakeFile

Então, depois de quebrar um pouco a cabeça com um projeto que estou fazendo, decidi compartilhar essa informação aqui com vocês, caso isso venha a ser útil para mais alguém.

Considerações

Fiz esse makefile pensando numa maneira bem genérica, já que minha app tem que gerar um makefile para compilar umas questões em c++.
Dessa forma o makefile pode ser usado em apps não muito sofisticadas(sem divisão de diretórios para headers e src por exemplo) que funciona direitinho(testado diversos casos ;) ).

O Arquivo

CC=g++
CFLAGS=-c -Wall
LDFLAGS=
SOURCES= fontes/main.cpp fontes/hello_world.h 
OBJECTS=$(SOURCES:.cpp=.o)
EXECUTABLE= exec/hello_world
all: $(SOURCES) $(EXECUTABLE)
$(EXECUTABLE): $(OBJECTS)
	$(CC) $(LDFLAGS) $(OBJECTS) -o $@
.cpp.o:
	$(CC) $(CFLAGS) $< -o $@
clean:
	rm -rf fontes/*.o

Nesse exemplo temos uma main.cpp e um header hello_world.h e isso será compilado e irá gerar um executável hello_world.

Basicamente é isso.
Onde tem

SOURCES=

você lista seus arquivos fontes, e onde tem

EXECUTABLE=

é o executável a ser gerado.
E por fim é feita uma remoção dos arquivos .o da pasta fontes/

Espero que isso tenha ajudado, e uma imagem que eu fiz acerca de makefiles:
MAKEFILE make your self!

About arruda

Adoro programar, descobrir novas frameworks ágeis e suas diversas aplicações.