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

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

Введение

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

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

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

После проверки работы программы выполните очистку артефактов сборки.

Подсказки

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

Резюме

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

✨ Проверить решение и практиковаться