Предыдущий раздел

5.6. Файловая структура

Следующий раздел

7. Двухуровневая система хранения архивов исходных текстов

6. Термины и определения

Сборка

(software build):

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

http://en.wikipedia.org/wiki/Software_build

Система сборки

(software build system):

Набор скриптов и других средств, выполняющих сборку множества пакетов исходных текстов автоматически.

http://en.wikipedia.org/wiki/Build_automation

Проект

Совокупность определений целевых платформ и пакетов.

Итогом сборки проекта является, как правило, набор образов для размещения на целевой системе, firmware.

Пользователь

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

Пользователь ничего не меняет в проекте, он может лишь задавать параметры сборки, определённые проектом.

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

Отдельный, законченный программный компонент.

В системе сборки - файл управления исходным текстом пакета.

Файл управления пакетом содержит описание свойств программного компонента, определяет, где взять (скачать) исходные тексты пакета, как их распаковать (extract), какие заплатки (patches) наложить, как его сконфигурировать (configure), собрать (build), установить (install).

Пакет может иметь список зависимостей от других пакетов.

Метапакет

Пакет, не управляющий исходными текстами, но управляющий другими пакетами, содержащий зависимости от других пакетов.

Примеры метапакетов:
goal
представляет всю целевую систему. Установка goal порождает файлы конечной цели всего проекта.
any
Заместитель любого пакета в тех случаях, когда make target не нуждается в каком-то конкретном пакете.
all-*
Выборка всех пакетов по определённому шаблону имён.
toolchain
Содержит зависимости компонентов toolchain. Используется как зависимость в пакетах, требующих кросс-компиляции.
root
Представляет содержимое корневой файловой системы целевой системы. Содержит зависимости от пакетов, устанавливающих компоненты в корневую ФС целевой системы.
root-image
Создаёт образ корневой ФС целевой системы из каталога корневой ФС.
boot-image
Создаёт полный образ целевой системы, включая загрузчик, образы ядра, корневой и конфигурационной файловых систем. Необязательно.
Платформа

Определение целевой системы.

Несколько шире используемого во встраиваемых системах термина “плата” (board).

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

Проект может содержать определения нескольких платформ, для каждой из которых проект строится в отдельных каталогах.

Имеется особая платформа “build” для определения машины, на которой строится проект и для которой собираются некоторые вспомогательные программы.

Target (make)

Цель (target) в утилите make.

Не путать с целевыми системой, платформой, платой, центральным процессором (target system, platform, board, CPU).

Target (system/platform/board/CPU)

Целевая система, платформа, плата, центральный процессор (target system, platform, board, CPU), для которых строится проект.

Не путать с целью (target) утилиты make.

GNU Target Triplet

Трёх- (иногда четырёх-) компонентная строка, описывающая целевую систему, вида:

<CPU>-<VENDOR>-<OS>

или

<CPU>-<VENDOR>-<OS>-<KERNEL>

Ссылки:

http://airs.com/ian/configure/configure_4.html

http://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.68/html_node/Specifying-Target-Triplets.html

http://www.gnu.org/s/hello/manual/autoconf/System-Type.html#System-Type

Триплет используется как подстрока в именах toolchain, каталогах сборки и других местах.

В системе сборки место <VENDOR> занимает <PLATFORM>. Чтобы не смущать разбирающие триплет скрипты, <PLATFORM> не должна содержать знака ‘-‘.

Toolchain

Набор программных инструментов, обеспечивающих сборку исходных текстов программ.

Исходный текст последовательно преобразуется компонентами GNU Toolchain, образуя цепочку:

C preprocessor -> C compiler -> assembler -> linker

http://en.wikipedia.org/wiki/Toolchain

Двигатель
“движок”, engine: Сердцевина, ядро системы сборки - набор скриптов и фрагментов makefile, обеспечивающих её работу.
Исходный текст

(source code): Набор данных (data set), файл, содержимое которого создано непосредственно человеком и находящимся в начале цепи возможных последующих преобразований.

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

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

Вязаная копия
(linked copy): Такая копия файла, при которой файл назначения не копирует содержимое исходного файла, я является ссылкой на исходный файл.
Сборочная машина
(build machine): ЭВМ (computer), на которой осуществляется сборка проекта.
ПО
(software): Программное Обеспечение ЭВМ.
ЭВМ
(computer): Электронная Вычислительная Машина, самосчёт.
DASD

Direct access storage device.

http://en.wikipedia.org/wiki/Direct_access_storage_device