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

Материал из ISPWiki
Перейти к: навигация, поиск

You may setup custom components using Ubix materials provided by COREmamager Makefile. The files are located in the src directory.

UNIX

If you want to build programs using our libraries, you will need a compiler supporting c++0x. You should use gcc 4.4. or later, and GNU make to be able to use our makefile.

Makefile

To use our makefile, create a new directory in the src directory. A directory name should match the name of the control panel that you are developing to ensure corect upload. For example: mypanel. Create the Makefile file with the following contents in that directory:

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
a list of .so files to be built.
SBIN
a list of application to start from the command line, that you need to set up список приложений, запускаемых из командной строки, которые необходимо собрать.
WRAPPER
the same as SBIN - a list of application to start from the command line, that you need to set up
In COREmanager all the console applications are ... as все консольные приложения реализованы в виде .so files located in the libexec directory. They are started by the sbin/wrapper program. All binary files in the sbin directory are links to the wrapper file.
XMLPATH
the directoy where standard XML files are located. They are <panel name>.xml, <panel name>_menu.xml and <panel name>_msg_*.xml. By default, makefile tries to locate the files in the xml directory, if any. If the xml directory doesn't exist - in the current directory. , если он существует, или в текущем каталоге, если каталога xml нет.
<panel name>.xml contains desciption of forms and lists metadata.
<panel name>_menu.xml contains desciption of the main manu for different user roles.
files <panel name>_msg_*.xml contains description of languages, one per language.
PKGCTL
programs that are started by the installer.

For every name, which was added into one of the above veriables, you can provide the following parameters: добавленного в одну из вышеперечисленных переменных, вы можете задать следующие параметры:

<name>_SOURCES
list of source codes
<name>_LDADD
additional parameters for links дополнительные параметры линковки
<name>_SLIB
libraries included into the product and activated statically. Unlike the libraries in, the libraries listed in this variable will be set up automatically. , входящие в состав продукта, подключаемые статически. В отличии от библиотек заданных в LDADD, библиотеки перечисленные в этой переменной будут собраны автоматически.
<name>_DLIB
libraries included into the product connected dynamically. Unlike libraries specified in the libraries listed in this variable will be set up automatically and included into the product's distribution. , входящие в состав продукта, подключаемые динамически. В отличии от библиотек заданных в LDADD, библиотеки перечисленные в этой переменной будут собраны автоматически и будут включены в дистрибутив продукта.
<name>_FOLDER
directory in the distribution to locate the result каталог в дистрибутиве, где должен находиться результат
(each type has a default value)
mypanel_SOURCES
description of sources for libraries описание источников для сборки библиотек (the list of .cpp files)
mypanel_LDADD
description of additional parameters for link описание дополнительных параметров линковщика
include ../isp.mk
connect the templates provided by COREmanager for поставляемые с CORE шаблоны для Makefile. Make sure this record exists and stands last. Эта строка должна присутствовать всегда и должна быть последней.
XMLLIST
the list of additional xml files with metadata describing the interface of your control panel. XMLPATH doesn't affect these files. не влияет. Список может содержать шаблоны файлов, в которых '*' - любое количество любых символов.
SUBDIR
каталог в котором необходимо искать файлы исходного кода. Так же, в этом каталоге должен быть файл Makefile.inc, содержимое которого будет подключено в основной Makefile автоматически.

Build

Чтобы собрать нашу библиотеку mypanel.so, достаточно выполнить gmake в каталоге src/mypanel. Или в каталоге src, в этом случае будут собраны проекты из всех каталогов внутри src.

Setup

Чтобы установить панель перейдите в каталог с исходниками панели ([mgr5_DIR]/src/mypanel) и выполните комманду make install. Библиотека mypanel.so будет скопирована в каталог lib.

Для WRAPPER приложений файл будет скопирован в каталог libexec, а в каталоге sbin будет сделана соответствующая ссылка на wrapper.

Соответствующая панель будет автоматически перезагружена.

Deletion

Чтобы удалить все собранные файлы вы можете выполнить gmake clean

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