a52b7476a4
It looks like the intermediate targets aren't all equal: some define a finished feature while some create a common lower level piece of configuration. Let's do shortcuts for the former so that a distro line can be more terse and descriptive; help targets in features.in/ tweaked accordingly.
34 lines
2.5 KiB
Plaintext
34 lines
2.5 KiB
Plaintext
Этот каталог содержит т.н. фичи (features, особенности) --
|
||
каталоги, содержимое каждого из которых реализует одну из
|
||
подключаемых автономных возможностей образа.
|
||
|
||
Каждая фича должна содержать задействуемый при построении
|
||
конфигурации будущего образа файл config.mk, включаемый
|
||
в ../main.mk; он может описывать одну или более целей
|
||
вида use/*, дополняющих конфигурацию, и при наличии
|
||
дополнительных хуков для копирования или generate.*
|
||
обязан добавить имя фичи в $(FEATURES), для чего
|
||
создана функция add_feature без аргументов.
|
||
|
||
На этапе генерации сборочного профиля фичи рассматриваются
|
||
после инициализации профиля (см. ../image.in/) и копирования
|
||
субпрофилей (см. ../sub.in/). Для каждой фичи, указанной
|
||
в $(FEATURES), копируются подкаталоги сообразно субпрофилям,
|
||
а также производится обработка {image-,}scripts.d/; затем
|
||
выполняется скрипт generate.sh и задействуется generate.mk
|
||
(при их наличии).
|
||
|
||
Если фича дополняет хуками семейство целевых субпрофилей,
|
||
построенных на одном базовом, можно воспользоваться подкаталогом
|
||
с именем исходного базового субпрофиля (см. $src, $dst в Makefile).
|
||
|
||
Наиболее употребительные цели можно снабжать "ярлычками" вроде
|
||
"+icewm" с тем, чтобы сделать более краткими и выразительными
|
||
использующие их правила. Просьба не злоупотреблять количеством.
|
||
|
||
Каталог lib/ является специфическим для фич, определяющих
|
||
построение конкретного вида образа -- см. build-*/.
|
||
|
||
Несложный пример содержится в 00example/, более близкий к жизни
|
||
и нынешним пределам возможностей метапрофиля -- в syslinux/.
|