Makefile C/C++: Compilando Projetos Profissionalmente

Usar Makefile é o jeito profissional de compilar projetos em C (e outras linguagens).

Vantagens de usar Makefile:


Exemplo simples de Makefile

Suponha que você tem um arquivo main.c:

Estrutura dos arquivos:

meu_projeto/
├── main.c
└── Makefile

Exemplo de conteúdo do Makefile:

# Nome do executável
PROG = programa

# Compilador
CC = gcc

# Flags de compilação (avisos extras)
CFLAGS = -Wall -Wextra -g

# Alvo padrão
all: $(PROG)

# Como compilar
$(PROG): main.c
	$(CC) $(CFLAGS) main.c -o $(PROG)

# Limpar arquivos gerados
clean:
	rm -f $(PROG)

Como usar:

Dentro da pasta do projeto:

Compilar:

make

Ele vai criar o executável programa.

Rodar:

./programa

Limpar arquivos gerados:

make clean

Automatizando dentro do Vim

Dentro do Vim:

:!make && ./programa

Ou cria no ~/.vimrc um atalho:

nnoremap <F5> :w<CR>:!make && ./programa<CR>

Agora dentro do Vim:


Montar um Makefile mais avançado

Tipo separando arquivos .h e .c em pastas diferentes (src/, include/)