Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
A automação de compilação é um processo essencial no desenvolvimento de software, pois permite que os desenvolvedores construam, testem e implantem seus aplicativos de maneira eficiente e consistente. No ambiente Linux, uma das ferramentas mais populares para automatizar a compilação é o Makefile. O Makefile é um script utilizado pelo utilitário make
, que define como compilar e ligar o programa. Ele é amplamente utilizado em projetos de software livre e em ambientes de desenvolvimento C/C++. Este artigo irá guiá-lo através da criação e uso de um Makefile para automatizar a compilação de um projeto simples em C.
Exemplos:
Criando um Projeto Simples em C:
Primeiro, vamos criar um projeto simples em C com dois arquivos: main.c
e functions.c
.
// main.c
#include <stdio.h>
#include "functions.h"
int main() {
printf("Resultado: %d\n", add(2, 3));
return 0;
}
// functions.c
#include "functions.h"
int add(int a, int b) {
return a + b;
}
// functions.h
#ifndef FUNCTIONS_H
#define FUNCTIONS_H
int add(int a, int b);
#endif
Criando o Makefile: Em seguida, vamos criar um Makefile para automatizar a compilação desses arquivos.
# Makefile
# Variáveis
CC = gcc
CFLAGS = -Wall
TARGET = myprogram
# Regra padrão
all: $(TARGET)
# Regra para compilar o programa
$(TARGET): main.o functions.o
$(CC) $(CFLAGS) -o $(TARGET) main.o functions.o
# Regras para compilar os arquivos .o
main.o: main.c functions.h
$(CC) $(CFLAGS) -c main.c
functions.o: functions.c functions.h
$(CC) $(CFLAGS) -c functions.c
# Limpeza dos arquivos compilados
clean:
rm -f *.o $(TARGET)
Executando o Makefile:
Para compilar o projeto, basta executar o comando make
no terminal dentro do diretório onde o Makefile está localizado.
make
Isso irá gerar um executável chamado myprogram
. Para executar o programa, use o comando:
./myprogram
Limpando os Arquivos Compilados: Para limpar os arquivos objeto (.o) e o executável, use o comando:
make clean