Создание модульного Makefile

CCBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом задании вы научитесь создавать базовый Makefile для компиляции простой программы на языке C. Вы поймете, как Makefiles помогают автоматизировать процесс сборки и управлять множеством исходных файлов.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c/UserInteractionGroup -.-> c/output("Output") subgraph Lab Skills c/output -.-> lab-438425{{"Создание модульного Makefile"}} end

Создание базового Makefile

В этом задании вы создадите базовый Makefile для компиляции простой программы на языке C. Программа состоит из двух исходных файлов: hello.c и utils.c. Файл hello.c содержит главную функцию, которая выводит сообщение в консоль. Файл utils.c содержит вспомогательную функцию, которая вызывается из главной функции.

Задачи

  • Создать Makefile для компиляции программы
  • Добавить правила для компиляции обоих исходных файлов
  • Добавить цель clean для удаления скомпилированных файлов

Требования

  • Использовать предоставленные исходные файлы в ~/project
  • Makefile должен компилировать как hello.c, так и utils.c
  • Создать исполняемый файл с именем hello
  • Включить цель clean
  • Использовать GCC в качестве компилятора

Примеры

Запустите следующие команды для компиляции программы:

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

Запустите скомпилированную программу:

./hello

Пример вывода программы:

Hello, World!
Utility function called!

После запуска программы удалите скомпилированные файлы.

Подсказки

  • Не забудьте использовать TAB для отступов в Makefile
  • Используйте флаг -c для компиляции исходных файлов в объектные файлы
  • Протестируйте программу после компиляции
✨ Проверить решение и практиковаться

Резюме

В этом задании вы познакомились с созданием базовых Makefile. Вы научились писать простой Makefile для компиляции нескольких исходных файлов, создания исполняемого файла и удаления артефактов сборки. Это фундаментальные навыки для управления проектами на языке C.