NetNado
  Найти на сайте:

Учащимся

Учителям



Лабораторная работа №2 «Практическое знакомство со стандартной утилитой gnu make для построения проектов в ос unix»


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

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

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

Кафедра ВТ

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

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. Выполнить программу (скомпилировать, при необходимости отладить).


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



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



При изменении одного файла и последующей сборки всей программы, происходит перекомпиляция только одного файла, в нашем случае path1.o.
d:\os\lab2\screenshot-1.png


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

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

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

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

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


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

Выводы
В ходе данной лабораторной работы была изучена утилита Make, которая позволяет собирать программу из множества разрозненных файлов. Данная утилита имеет большое количество возможностей по автоматизации сборки проекта и позволяет создать такой Make-файл, который подойдет ко многим программам и при сборке каждой из них потребует незначительное количество изменений.


2011

страница 1


скачать

Другие похожие работы: