Criar um Makefile Modular

CBeginner
Pratique Agora

Introdução

Neste desafio, você aprenderá a criar um Makefile básico para compilar um programa simples em C. Você entenderá como os Makefiles ajudam a automatizar o processo de construção (build) e a gerenciar múltiplos arquivos de código-fonte.

Este é um Desafio (Challenge), que difere de um Laboratório Guiado (Guided Lab) pois você deve tentar concluir a tarefa de forma independente, em vez de apenas seguir passos instrucionais. Desafios costumam ser um pouco mais complexos. Se encontrar dificuldades, você pode debater com o Labby ou verificar a solução. Dados históricos mostram que este é um desafio de nível iniciante com uma taxa de aprovação de 98%. Ele recebeu uma taxa de avaliações positivas de 95% dos alunos.

Criar um Makefile Básico

Neste desafio, você criará um Makefile básico para compilar um programa simples em C. O programa consiste em dois arquivos-fonte: hello.c e utils.c. O arquivo hello.c contém a função principal que imprime uma mensagem no console. O arquivo utils.c contém uma função utilitária que é chamada a partir da função principal.

Tarefas

  • Criar um Makefile que compile o programa
  • Adicionar regras para compilar ambos os arquivos-fonte
  • Adicionar um alvo clean para remover os arquivos compilados

Requisitos

  • Use os arquivos-fonte fornecidos em ~/project
  • O Makefile deve compilar tanto o hello.c quanto o utils.c
  • Crie um executável chamado hello
  • Inclua um alvo clean
  • Use o GCC como compilador

Exemplos

Execute os seguintes comandos para compilar o programa:

cd ~/project
make
gcc -c hello.c
gcc -c utils.c
gcc hello.o utils.o -o hello

Execute o programa compilado:

./hello

Exemplo de saída do programa:

Hello, World!
Utility function called!

Após executar o programa, limpe os arquivos compilados.

Dicas

  • Lembre-se de usar a tecla TAB para a indentação no Makefile
  • Use a flag -c para compilar os arquivos-fonte em arquivos de objeto
  • Teste o programa após a compilação
✨ Verificar Solução e Praticar

Resumo

Este desafio introduziu você à criação básica de Makefiles. Você aprendeu como escrever um Makefile simples para compilar múltiplos arquivos-fonte, criar um executável e limpar os artefatos de build. Estas são habilidades fundamentais para gerenciar projetos de programação em C.