Операционные системы. Теория и практика. Замятин А.В. - 215 стр.

UptoLike

Составители: 

215
содержит пробелы), то строка со значением переменной compile_flags
должна быть заключена в кавычки. Командный файл makefile с исполь-
зованием параметров может выглядеть следующим образом:
override compile_flags := pipe
source_dirs := Editor TextLine
search_wildcard s := $(addsuffix /*.cpp,$(source_dirs))
iEdit: $(notdir $(patsubst %.cpp,%.o,$(wildcard $(search_wildcard s))))
gcc $^ $(compile_flags) -o $@
VPATH := $(source_dirs)
%.o: %.cpp
gcc -c -MD $(addprefix -I ,$(source_dirs)) $(compile_flags) $<
include $(wildcard *.d)
Переменная compile_flags получает свое значение из командной
строки, если оно задано, в противном случае используется значение по
умолчанию, т. е. «pipe». Для ускорения работы компилятора к парамет-
рам компиляции добавляется флажок pipe. Следует обратить внимание
на необходимость использования в примере директивы override, исполь-
зованной для изменения переменной compile_flags внутри make-файла. В
противном случае переданные флаги компиляции из командной строки
не будут размещены в переменной compile_flags.
7.4 Последовательность выполнения работы
1. Ознакомиться с теоретическим материалом.
2. Используя любой текстовый редактор, создать простейшую
программу на языке C (C++) с использованием, как минимум, двух ис-
ходных файлов (с программным кодом).
3. Для автоматизации сборки проекта утилитой make создать
make-файл (см. п. «Пример создания более сложного make-файла»).
4. Выполнить программу (скомпилировать, при необходимости
отладить).
5. Показать, что при изменении одного исходного файла и после-
дующем вызове make будут исполнены только необходимые команды
компиляции еизмененные файлы перекомпилированы не будут) и из-
менены атрибуты и/или размер объектных файлов (файлы с расширени-
ем .o).
6. Создать make-файл с высоким уровнем автоматизированной об-
работки исходных файлов программы согласно следующим условиям: