2012-08-11 21:45:26 +03:00
Этот каталог содержит т.н. фичи (features, особенности).
2010-09-22 00:58:24 +03:00
2012-08-11 21:45:26 +03:00
Фича -- отдельно подключаемая сущность, которая содержит
повторно используемые конфигурацию/код и определяет одну
из особенностей создаваемого образа. Может зависеть от
других фич либо субпрофилей.
Каждая фича должна содержать файл config.mk, включаемый
в ../main.mk при построении конфигурации будущего профиля;
он может описывать одну или более целей вида use/*,
дополняющих конфигурацию, и обязан добавить имя фичи
в $(FEATURES), для чего создана функция add_feature.
2010-09-22 00:58:24 +03:00
2011-11-06 21:57:28 +02:00
Н а этапе генерации сборочного профиля фичи рассматриваются
2010-09-22 00:58:24 +03:00
после инициализации профиля (см. ../image.in/) и копирования
2011-07-20 21:45:28 +03:00
субпрофилей (см. ../sub.in/). Для каждой фичи, указанной
2012-08-11 21:45:26 +03:00
в $(FEATURES), копируются подкаталоги сообразно включенным
субпрофилям, а также lib/ и {image-,}scripts.d/; затем
выполняются generate.sh и generate.mk при их наличии.
2011-09-13 19:15:42 +03:00
2011-09-11 16:08:31 +03:00
Если фича дополняет хуками семейство целевых субпрофилей,
построенных на одном базовом, можно воспользоваться подкаталогом
с именем исходного базового субпрофиля (см. $src, $dst в Makefile).
2012-08-11 21:45:26 +03:00
Наиболее востребованные цели можно снабжать "ярлычками" вроде
2012-03-16 20:26:58 +02:00
"+icewm" с тем, чтобы сделать более краткими и выразительными
использующие их правила. Просьба не злоупотреблять количеством.
2011-10-06 11:46:31 +03:00
Каталог lib/ является специфическим для фич, определяющих
2011-11-06 21:57:28 +02:00
построение конкретного вида образа -- см. build-*/.
2011-10-06 11:46:31 +03:00
2010-09-22 00:58:24 +03:00
Несложный пример содержится в 00example/, более близкий к жизни
и нынешним пределам возможностей метапрофиля -- в syslinux/.