Download PDF
Download page Сборка собственных компонентов.
Сборка собственных компонентов
Вы можете собирать ваши модули любым удобным для вас способом. Но, чтобы упростить этот процесс, мы предлагаем использовать поставляемые с CORE заготовки Makefile для Unix. Эти файлы расположены в каталоге src.
UNIX
Для сборки программ с использованием наших библиотек вам понадобится компилятор, поддерживающий стандарт c++0x. Для gcc необходима версия не ниже 4.4. А чтобы использовать наши makefile, еще и GNU make.
Makefile
Для того, чтобы воспользоваться нашим makefile, вам необходимо создать каталог в каталоге src Мы рекомендуем, чтобы имя каталога совпадало с именем панели, которую вы разрабатываете. В этом случае у вас будет корректно отрабатывать загрузка . Например: mypanel. В этом каталоге необходимо создать файл Makefile со следующим содержимым:
LIB += mypanel mypanel_SOURCES = mypanel.cpp mypanel_LDADD = -lbase #mypanel_LDADD = -rdynamic #WRAPPER += some_command_line_tool #XMLLIST += some_xml #XMLPATH = my_xml_path include ../isp.mk
LIB задает список .so файлов, которые необходимо собрать.
SBIN задает список приложений, запускаемых из командной строки, которые необходимо собрать.
WRAPPER как и SBIN задает список приложений, запускаемых из командной строки, которые необходимо собрать. В CORE все консольные приложения реализованы в виде .so файлов, расположенных в каталоге libexec и запускаемых программой sbin/wrapper . Все бинарные файлы в каталоге sbin — это ссылки на файл wrapper
XMLPATH каталог, в котором следует искать стандартные XML файлы. Это: <имя панели>.xml, <имя панели>_menu.xml и <имя панели>_msg_*.xml. По умолчанию, makefile ищет эти файлы в каталоге xml, если он существует, или в текущем каталоге, если каталога xml нет.
<имя панели>.xml должен содержить описание метаданных форм и списков .
<имя панели>menu.xml должен содержать описание главного меню для различных уровней доступа.
файлы <имя панели>_msg.xml должны содержать описания языков , по одному на каждый язык.
PKGCTL программы, запускаемые инсталятором.
Для каждого имени, добавленного в одну из вышеперечисленных переменных, вы можете задать следующие параметры:
<name>_SOURCES список исходников
<name>_LDADD дополнительные параметры линковки
<name>_SLIB библиотеки, входящие в состав продукта, подключаемые статически. В отличии от библиотек заданных в LDADD, библиотеки перечисленные в этой переменной будут собраны автоматически.
<name>_DLIB библиотеки, входящие в состав продукта, подключаемые динамически. В отличии от библиотек заданных в LDADD, библиотеки перечисленные в этой переменной будут собраны автоматически и будут включены в дистрибутив продукта.
<name>_FOLDER каталог в дистрибутиве, где должен находиться результат (для каждого типа имеется значение по умолчанию)
mypanel_SOURCES описание источников для сборки библиотек (список .cpp файлов)
mypanel_LDADD описание дополнительных параметров линковщика
include ../isp.mk подключаем поставляемые с CORE шаблоны для Makefile. Эта строка должна присутствовать всегда и должна быть последней.
XMLLIST список дополнительных xml файлов, содержащих метаданные описывающие интерфейс вашей панели. На эти фалы XMLPATH не влияет. Список может содержать шаблоны файлов, в которых '*' — любое количество любых символов.
SUBDIR каталог в котором необходимо искать файлы исходного кода. Так же, в этом каталоге должен быть файл Makefile.inc, содержимое которого будет подключено в основной Makefile автоматически.
Сборка
Чтобы собрать нашу библиотеку mypanel.so, достаточно выполнить gmake в каталоге src/mypanel. Или в каталоге src, в этом случае будут собраны проекты из всех каталогов внутри src.
Установка
Чтобы установить панель перейдите в каталог с исходниками панели ([mgr5_DIR]/src/mypanel) и выполните комманду make install. Библиотека mypanel.so будет скопирована в каталог lib.
Для WRAPPER приложений файл будет скопирован в каталог libexec, а в каталоге sbin будет сделана соответствующая ссылка на wrapper .
Соответствующая панель будет автоматически перезагружена.
Удаление
Чтобы удалить все собранные файлы вы можете выполнить gmake clean
Эта команда не удаляет файлы созданные при установке.