Документация COREmanager

Сборка собственных компонентов

 

Вы можете собирать ваши модули любым удобным для вас способом. Но, чтобы упростить этот процесс, мы предлагаем использовать поставляемые с 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 программы, запускаемые инсталятором.

Для каждого имени, добавленного в одну из вышеперечисленных переменных, вы можете задать следующие параметры:

_SOURCES список исходников

_LDADD дополнительные параметры линковки

_SLIB библиотеки, входящие в состав продукта, подключаемые статически. В отличии от библиотек заданных в LDADD, библиотеки перечисленные в этой переменной будут собраны автоматически.

_DLIB библиотеки, входящие в состав продукта, подключаемые динамически. В отличии от библиотек заданных в LDADD, библиотеки перечисленные в этой переменной будут собраны автоматически и будут включены в дистрибутив продукта.

_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

Эта команда не удаляет файлы созданные при установке.