Лабораторная работа №2 «Практическое знакомство со стандартной утилитой gnu make для построения проектов в ос unix» - polpoz.ru o_O
Главная
Поиск по ключевым словам:
страница 1
Похожие работы
Название работы Кол-во страниц Размер
Ос unix была создана Кеном Томпсоном и Деннисом Ритчи в Bell Laborotories... 1 507.84kb.
Используемое оборудование 1 33.4kb.
Лабораторная работа №1 часть II «Утилита для сканирования и исследования... 1 248.86kb.
Лабораторная работа №6 Итоговое задание «Логическое программирование... 1 96.64kb.
Студентов гр. Кс-051, Стрелка Д. В., Осадчука О. М., Забузова С. 1 27.07kb.
Лабораторная работа «Семейства растений класса Двудольные» 1 43.9kb.
Лабораторная работа изучение плазмохимического процесса удаления... 1 59.89kb.
Лабораторная работа №1 Тема лабораторной работы: Исследование способов... 1 193.62kb.
Действие настоящей Методики распространяется на инвестиционные проекты... 1 86.35kb.
11. Файловый ввод-вывод. Работа с текстовыми и двоичными файлами 1 100.58kb.
Знакомство с Linux 1 Введение 2 665.49kb.
В программе: современный и традиционный джаз, джаз-рок, блюз 1 39.96kb.
1. На доске выписаны n последовательных натуральных чисел 1 46.11kb.

Лабораторная работа №2 «Практическое знакомство со стандартной утилитой gnu make - страница №1/1

Национальный исследовательский университет

Томский политехнический университет

Институт Кибернетики

Кафедра ВТ

Операционные системы

gerb-b

ЛАБОРАТОРНАЯ РАБОТА № 2

«Практическое знакомство со стандартной утилитой GNU make для построения проектов в ОС UNIX »


Выполнил

студент группы 8В83






Б.А. Сафронов

Проверил





Д.В. Сидоров


Цель работы
Ознакомиться с техникой компиляции программ на языке программирования C (C++) в среде ОС семейства Unix, а также получить практические навыки использования утилиты GNU make для сборки проекта.
Задание
Изучить особенности работы с утилитой make при создании проекта на языке С (С++) в ОС Unix, а также получить практические навыки использования утилиты GNU make при создании и сборке проекта.

Ход работы работы


  1. Используя любой текстовый редактор, создать простейшую программу на языке C (C++) с использованием, как минимум, двух исходных файлов (с программным кодом).

Создана программа, которая к числу прибавляет 2, состоящая из двух исходных файлов.



d:\os\lab2\screenshot-2.pngd:\os\lab2\screenshot.png


  1. Для автоматизации сборки проекта утилитой make создать make-файл

d:\os\lab2\screenshot-3.png



  1. Выполнить программу (скомпилировать, при необходимости отладить).






  1. Показать, что при изменении одного исходного файла и последующем вызове make будут исполнены только необходимые команды компиляции

При изменении одного файла и последующей сборки всей программы, происходит перекомпиляция только одного файла, в нашем случае path1.o.







  1. Создать make-файл с высоким уровнем автоматизированной обработки исходных файлов программы согласно следующим условиям: имя скомпилированной программы (выполняемый или бинарный файл), флаги компиляции и имена каталогов с исходными файлами и бинарными файлами (каталоги src, bin и т. п.) задаются с помощью переменных в makefile.

зависимости исходных файлов на языке C (С++) и цели в make-

файле должны формироваться динамически;

наличие цели clean, удалающей временные файлы;
d:\os\lab2\screenshot-4.png


Make-файл был значительно автоматизирован и стал более универсален. Здесь использованы функция wildcard, которая получает список файлов с заданным шаблоном в выбранном каталоге, и функция patsubst, которая заменяет заданную подстроку в заданной строке. Эти функции позволяют автоматически построить список объектных файлов программы. Еще в данном Make-файле автоматизирован поиск исходных файлов по нескольким директорием с использованием переменных search _wildcard s и VPATH.
Выводы
В ходе данной лабораторной работы была изучена утилита Make, которая позволяет собирать программу из множества разрозненных файлов. Данная утилита имеет большое количество возможностей по автоматизации сборки проекта и позволяет создать такой Make-файл, который подойдет ко многим программам и при сборке каждой из них потребует незначительное количество изменений.

2011



izumzum.ru