summaryrefslogtreecommitdiffstats
path: root/tde-i18n-ru/docs/tdevelop/tdevelop/project-management.docbook
diff options
context:
space:
mode:
Diffstat (limited to 'tde-i18n-ru/docs/tdevelop/tdevelop/project-management.docbook')
-rw-r--r--tde-i18n-ru/docs/tdevelop/tdevelop/project-management.docbook1275
1 files changed, 1275 insertions, 0 deletions
diff --git a/tde-i18n-ru/docs/tdevelop/tdevelop/project-management.docbook b/tde-i18n-ru/docs/tdevelop/tdevelop/project-management.docbook
new file mode 100644
index 00000000000..dbbe7188182
--- /dev/null
+++ b/tde-i18n-ru/docs/tdevelop/tdevelop/project-management.docbook
@@ -0,0 +1,1275 @@
+<chapter id="project-management">
+
+<chapterinfo>
+ <authorgroup>
+ <author
+><firstname
+>Bernd</firstname
+><surname
+>Pol</surname
+></author>
+ <author
+><firstname
+>Ian</firstname
+><surname
+>Wadham</surname
+></author>
+ <!-- ROLES_OF_TRANSLATORS -->
+ </authorgroup>
+</chapterinfo>
+
+<title
+>Сборка и управление проектом</title>
+
+<para
+>Здесь затрагиваются только компилируемые языки, такие как C++, &Java;, фортран. </para>
+
+<para
+>В руководстве затронуты такие темы:</para>
+<itemizedlist>
+ <listitem
+><para
+><link linkend="automake-manager-summary"
+>Краткое описание &automanag;</link
+> </para
+></listitem>
+ <listitem
+><para
+><link linkend="automake-manager-operation"
+>Использование менеджера Automake</link
+> содержит основы работы &automanag;, </para
+></listitem>
+</itemizedlist>
+
+<sect1 id="automake-manager-summary">
+<title
+>Краткое описание &automanag;</title>
+
+<para
+>В главе <link linkend="unixdev-buildsystems"
+>Системы сборки</link
+> был изложен краткий обзор систем сборки, часто использующихся в UNIX. Здесь они рассматриваются подробнее. </para>
+<para
+>Существует некоторая неразбериха с тем, как называть программы такого типа, в &GNU; описаниях Automake, Autoconf и Libtool, называет их <quote
+>системами сборки</quote
+> (build systems). QMake называет себя <quote
+>средством для написания файлов Makefile для разных компиляторов и платформ</quote
+> (<quote
+>a tool to write Makefiles for different compilers and platforms</quote
+>) . В KDE также часто используется термин <quote
+>системы управления проектом</quote
+> (<quote
+>project management systems</quote
+>). Мы будем использовать последний для обозначения встроенных окружений в &tdevelop;, которые организуют и собирают проекты. В этой секции, однако, он будет использоваться в смысле <quote
+>автоматизированные системы сборки</quote
+>. </para>
+
+<sect2 id="automake-manager-summary-buildsys">
+<title
+>Потребность в автоматизированных системах сборки</title>
+
+<para
+>Если у вас простая программа <quote
+>Hello World</quote
+>, написанная на чистом C, вы можете скомпилировать и скомпоновать её с помощью &gcc; <parameter
+>-o hello hello.c</parameter
+> и запустить командой <command
+>./hello</command
+>, так что вам даже не и не нужен <filename
+>Makefile</filename
+>. </para>
+<para
+>Если же у вас программа, написанная на C, с несколькими модулями и заголовочными файлами, и вы сделали её исключительно для себя, вам будет нужен простой <filename
+>Makefile</filename
+>, который легко написать собственноручно (см. <userinput
+>info make</userinput
+>). </para>
+<para
+>Проблемы возникают когда: </para>
+<itemizedlist>
+ <listitem
+><para
+>Ваш исходный код, документация, графическое оформление, звуки, файлы интернационализации, файлы с информацией и т.д. расположены в более чем одном каталоге, </para
+></listitem>
+ <listitem
+><para
+>У вас иерархическая структура каталогов с исходниками, </para
+></listitem>
+ <listitem
+><para
+>Вы используете библиотеки, не являющиеся стандартными библиотеками набора &UNIX;, такие как &Qt; или библиотеки &kde;, </para
+></listitem>
+ <listitem
+><para
+>Вы используете пред-процессор для генерирования части исходного кода, например, MOC pre-compiler от Qt, </para
+></listitem>
+ <listitem
+><para
+>Вы хотите распространять ваше приложение в Сети, для людей с другим дистрибутивом &UNIX;/&Linux;, набором программного и аппаратного обеспечения, </para
+></listitem>
+ <listitem
+><para
+>Вам нужна автоматическая установка и удаление установленной программы, </para
+></listitem>
+ <listitem
+><para
+>Вы хотите сделать своё приложение частью &kde;. </para
+></listitem>
+</itemizedlist>
+
+<para
+>Если хотя бы одна из перечисленных ситуаций применима к вам, тогда вам потребуется <emphasis
+>система сборки</emphasis
+>. В примере выше мы использовали &gcc; для компиляции и сборки программы <quote
+>Hello World</quote
+>, но не все компиляторы C имеют название <quote
+>&gcc;</quote
+>. Так что, если вы будете распространять своё приложение, вполне может найтись человек, имеющий другой компилятор в своей системе. И здесь на помощь приходят файлы Makefile, содержащие такие данные, как, например, имя компилятора в данной системе. </para>
+<para
+>Система сборки заботится о том, чтобы ваше приложение можно было автоматически скомпилировать на любой совместимой платформе. </para>
+<itemizedlist>
+ <listitem
+><para
+>Она найдёт расположение библиотек, </para
+></listitem>
+ <listitem
+><para
+>скомпилирует и </para
+></listitem>
+ <listitem
+><para
+>установит компоненты вашего приложения </para
+></listitem>
+ <listitem
+><para
+>в корректные каталоги системы </para
+></listitem>
+</itemizedlist>
+
+<para
+>Коротко, система сборки предлагает простой и безопасный метод компилирования и установки вашего приложения в конечной системе. как было сказано <link linkend="makesystems"
+>выше</link
+>, &tdevelop; поставляется с тремя автоматизированными системами сборки и возможностью создавать файлы Makefile вручную: </para>
+<itemizedlist>
+ <listitem
+><para
+><link linkend="automake-project"
+>Automake</link
+>, использующий стандартные инструменты разработки &GNU;. </para
+></listitem>
+ <listitem
+><para
+><link linkend="qmake-project"
+>QMake</link
+>, использующий менеджер проектов trolltech. </para
+></listitem>
+ <listitem
+><para
+><link linkend="ant-project"
+>ANT</link
+>, использующий менеджер проекта Apache ANT (для &Java;) </para
+></listitem>
+ <listitem
+><para
+><link linkend="custom-project"
+>Специальный</link
+> позволит вам писать файлы <filename
+>Makefile</filename
+> самостоятельно. </para
+></listitem>
+</itemizedlist>
+
+<important>
+<para
+>Один из этих вариантов вам нужно будет выбрать при создании нового проекта, и <emphasis
+>выбор будет трудно сменить позже</emphasis
+>, так что заранее определите, какая система сборки наиболее подходит вам. </para>
+</important>
+
+</sect2
+> <!-- automake-manager-summary-buildsys -->
+
+<sect2 id="automake-references">
+<title
+>Руководства по Autoconf/Automake/Libtool</title>
+<para
+>Доступно несколько руководств по системе сборки &GNU; (<command
+>Autoconf</command
+>, <command
+>Automake</command
+> и <command
+>Libtool</command
+>), используемой менеджером &automanag;. </para>
+<itemizedlist>
+ <listitem
+><para
+>Краткое <ulink url="http://www.asmodeus.com.ua/library/soft/GNU/autoconf/autoconf-ru_toc.html"
+>руководство autoconf</ulink
+> (<ulink url="http://www.tdevelop.org/index.html?filename=tutorial_autoconf.html"
+>оригинал на английском</ulink
+>), написанное Кристофером Картисом, и доступное на домашней странице KDevelop. В нём делается акцент на основные этапы редактирования <filename
+>Makefile</filename
+>. </para
+></listitem>
+ <listitem
+><para
+>Более подробное руководство можно найти в большом сборнике руководств <ulink url="http://www.amath.washington.edu/~lf/tutorials/autoconf/toolsmanual_toc.html"
+><quote
+>Разработка ПО с GNU</quote
+></ulink
+>. </para
+></listitem>
+ <listitem
+><para
+>Книжку про <quote
+>Autoconf, Automake, and Libtool</quote
+> можно найти по адресу <ulink url="http://sources.redhat.com/autobook"
+></ulink
+>. Это наиболее полное введение в &GNU; Autotools. Также прочитать о GNU Automake на русском вы можете здесь: <ulink url="http://www.asmodeus.com.ua/library/soft/GNU/automake/automake-ru_toc.html"
+></ulink
+> </para
+></listitem>
+</itemizedlist>
+
+</sect2
+> <!-- automake-references -->
+
+<sect2 id="automake-manager-basics">
+<title
+>Что делает &automanag;?</title>
+
+<para
+><link linkend="applicationwizard"
+>Мастеру приложений</link
+> потребуется инициализировать файлы <filename
+>Makefile.am</filename
+> при создании проекта, использующего Систему сборки &GNU;, например <menuchoice
+><guimenuitem
+>C++</guimenuitem
+> <guimenuitem
+>KDE</guimenuitem
+></menuchoice
+>. В процессе разработки, &automanag; создаёт файлы <filename
+>Makefile.am</filename
+> для проектов, использующих Систему сборки &GNU;, и сопровождает их. </para>
+<para
+>В каждом каталоге вашего проекта, содержащего файлы, которые требуется компилировать или устанавливать, находится один файл <filename
+>Makefile.am</filename
+>. В нём находятся указания ко компиляции, сборки и установке, а также список подкаталогов, также имеющих <filename
+>Makefile.am</filename
+>. </para>
+
+<note
+><para
+>Каталоги вашего проекта и исходники могут быть разбросаны в структуре любой глубины, или же в подкаталогах одного уровня. </para
+></note>
+
+<para
+>Цель Системы сборки &GNU; &mdash; создать структуру исходников, которую можно скомпилировать, построить и установить на любой системе &UNIX; или &Linux;, используя простые команды: </para>
+
+<screen
+>./configure
+make
+make install # с правами "root".
+</screen>
+
+<para
+>и удалить установленную программу командой <command
+>make uninstall</command
+> (также от root). </para>
+
+<para
+>Как это работает? <command
+>configure</command
+> &mdash; это сценарий, который <itemizedlist>
+ <listitem
+><para
+>собирает информацию о системе, на которой работает, например, какой компилятор в ней установлен и какие библиотеки доступны и где, а потом </para
+></listitem>
+ <listitem
+><para
+>рекурсивно создаёт файлы <filename
+>Makefile</filename
+> используя <filename
+>Makefile.in</filename
+> как шаблон. </para
+></listitem>
+</itemizedlist>
+</para>
+<para
+>Файлы <filename
+>Makefile.in</filename
+> &mdash; это <quote
+>входные</quote
+> файлы, шаблоны с базовой информацией для файлов <filename
+>Makefile</filename
+>, которые будут созданы из них путём заполнения в них определённой, зависимой от системы, информации. Всё это происходит под управлением <command
+>Automake</command
+>. </para>
+<para
+>Процесс перехода от <filename
+>Makefile.am</filename
+> (<filename
+>.am</filename
+> означает шаблон <quote
+>Automake</quote
+>) к <filename
+>Makefile</filename
+> управляется &promanag;, через утилиту <command
+>Autoconf</command
+>, макрос <command
+>M4</command
+> и пр. </para>
+<para
+>Когда выполняется <command
+>make</command
+>, он автоматически собирает информацию об окружении, такую как путь к компиляторам и библиотекам. Аналогично, <command
+>make install</command
+> перемещает компоненты приложения, такие как исполнимые файлы, документацию, в корректные места окружения. </para>
+
+<para
+>Если вы распространяете ваше приложение как <quote
+>tarball</quote
+> (архив, который можно создать в KDevelop), в нём будут включены файлы <filename
+>Makefile.in</filename
+> и скрипт <filename
+>configure</filename
+>, чтобы его можно было собрать и установить на системе, где нет <command
+>Automake</command
+>, <command
+>Autoconf</command
+> или KDevelop. Файлы <filename
+>Makefile.am</filename
+> также включаются, для того случая, когда потребуется безболезненно вмешаться в исходный код. </para>
+<note
+><para
+>Правила усложняются если вы также распространяете программу через хранилище, основанное на web, такое как . &cvs; &kde; </para
+></note>
+
+</sect2
+> <!-- automake-manager-basics -->
+
+<sect2 id="automake-manager-basics-summary">
+<title
+>Подытожим возможности Automake Manager</title>
+
+<itemizedlist>
+ <listitem
+><para
+>Генерирование файлов <filename
+>Makefile.am</filename
+> в подкаталогах (называемых <quote
+>subprojects</quote
+>). </para
+></listitem>
+ <listitem
+><para
+>Обновление файлов <filename
+>Makefile.am</filename
+> при изменении структуры проекта. </para
+></listitem>
+ <listitem
+><para
+>Обновление файлов <filename
+>Makefile.am</filename
+> при добавлении или удалении файлов из проекта. </para
+></listitem>
+ <listitem
+><para
+>Настройка параметров сборки или установки отдельных файлов, изменение <filename
+>Makefile.am</filename
+> в соответствии с этим. </para
+></listitem>
+ <listitem
+><para
+>Настройка параметров, используемых при сборке и установке (например имена библиотек). </para
+></listitem>
+</itemizedlist>
+
+</sect2
+> <!-- automake-manager-basics-summary -->
+
+<sect2 id="automake-file-contents">
+<title
+>Содержание файлов Automake</title>
+
+<para
+>Файл <filename
+>Makefile.am</filename
+> содержит строки с именами переменных, знаком равно и списком файлов или значением параметра. Имена <quote
+>переменных</quote
+> состоят из двух частей, например <varname
+>bin_PROGRAMS</varname
+>, <varname
+>myapp_SOURCES</varname
+> или <varname
+>kdelnk_DATA</varname
+>. Вторая часть называется <emphasis
+>первичной</emphasis
+> (<emphasis
+>primary</emphasis
+>) и представляет что-то, что нужно собрать или установить. Первая часть называется <emphasis
+>приставкой</emphasis
+> (<emphasis
+>prefix</emphasis
+>) и представляет: </para>
+<itemizedlist>
+ <listitem
+><para
+><emphasis
+>Каталог</emphasis
+>, куда нужно устанавливать (например <filename
+>bin</filename
+>), </para
+></listitem>
+ <listitem
+><para
+><emphasis
+>Спецификатор</emphasis
+> (например <varname
+>myapp</varname
+> для <varname
+>SOURCES</varname
+>, это говорит о том, что исходные файлы, перечисленные поле <varname
+>myapp_SOURCES</varname
+> входят в сборку <filename
+>myapp</filename
+>), </para
+></listitem>
+ <listitem
+><para
+>Специальная <emphasis
+>приставка</emphasis
+> <varname
+>noinst</varname
+> (<quote
+>no installation</quote
+>), используется для перечисления заголовочных файлов (<filename
+>.h</filename
+>), </para
+></listitem>
+ <listitem
+><para
+>Специальная приставка <varname
+>EXTRA</varname
+> для вещей, зависящих от конфигурации системы. </para
+></listitem>
+</itemizedlist>
+
+<para
+>Для подробностей о <command
+>Automake</command
+> и файлах <filename
+>Makefile.am</filename
+> см. <userinput
+>info Automake</userinput
+>. </para>
+<para
+>&automanag; создаёт и обновляет переменные и их значения. Далее приведён пример <filename
+>Makefile.am</filename
+> для приложения с названием <filename
+>myapp</filename
+>. </para>
+
+<screen
+>## Makefile.am для myapp
+
+# устанавливаемая программы. её имя используется
+# для всех переменных Makefile.am
+bin_PROGRAMS = myapp
+
+# путь include для X, qt и KDE
+INCLUDES = $(all_includes)
+
+# пути к библиотекам.
+myapp_LDFLAGS = $(KDE_RPATH) $(all_libraries)
+
+# библиотеки, с которыми компоновать.
+myapp_LDADD = $(LIB_KFILE) $(LIB_TDEPRINT)
+
+# что компилировать для myapp
+myapp_SOURCES = main.cpp myapp.cpp myappview.cpp
+
+# заголовки
+noinst_HEADERS = myapp.h myappview.h
+
+# разрешить automoc обрабатывать все исходные meta файлы (moc)
+METASOURCES = AUTO
+
+KDE_ICON = myapp
+
+# куда пойдёт файл kdelnk
+kdelnkdir = $(kde_appsdir)/Utilities
+kdelnk_DATA = myapp.desktop
+
+# куда пойдёт XML-GUI файл ресурсов
+rcdir = $(kde_datadir)/myapp
+rc_DATA = myappui.rc
+
+AM_CXXFLAGS = -DMY_C++_PREPROCESSOR_OPTION
+</screen>
+
+<para
+>Как вы видите, большинство пунктов справа &mdash; набор символов в форме <varname
+>$(xxx)</varname
+>. Это <emphasis
+>переменные окружения</emphasis
+>, определённые в собственно окружении &kde;. Они заменяются действительными значениями когда <command
+>./configure</command
+> генерирует файлы <filename
+>Makefile</filename
+> из шаблонов. </para>
+
+<para
+>Также, команда <command
+>./configure --help</command
+> отобразит список вещей, которые вы можете изменить во время сборки/компиляции. В частности, команда: <screen>
+./configure --prefix=/где/вы/желаете
+</screen
+> будет перенаправлять устанавливаемые файлы куда вы захотите, сменой значения внутренней переменной <varname
+>$(prefix)</varname
+> на <filename class="directory"
+>/где/вы/желаете</filename
+>. </para>
+
+</sect2
+> <!-- automake-file-contents -->
+
+</sect1
+> <!-- automake-manager-summary -->
+
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+
+<sect1 id="automake-manager-operation">
+<title
+>Использование менеджера Automake</title>
+
+<para
+>В этой главе вы найдёте краткое описание элементов &automanag; и как их использовать. В частности: <itemizedlist>
+ <listitem
+><para
+><link linkend="automake-manager-operation-window"
+>Окно &automanag;</link
+> описывает структуру окна &automanag;. </para
+></listitem>
+ <listitem
+><para
+><link linkend="automake-manager-operation-survey-window"
+>Элементы верхнего окна</link
+>. </para
+></listitem>
+ <listitem
+><para
+><link linkend="automake-manager-operation-detail-window"
+>Элементы нижнего окна с деталями</link
+>. </para
+></listitem>
+ <listitem
+><para
+><link linkend="automake-manager-operation-navigate"
+>Навигация по &automanag;</link
+> содержит список основных действий, которые вы можете выполнять в &automanag;. </para
+></listitem>
+ <listitem
+><para
+><link linkend="automake-manager-operation-popups"
+>Контекстные меню в &automanag;</link
+> описывает окна, появляющиеся после выбора какого-либо действия в &automanag;. </para
+></listitem>
+</itemizedlist>
+</para>
+
+<sect2 id="automake-manager-operation-window">
+<title
+>Окно &automanag;</title>
+
+<informaltable frame="none">
+<tgroup cols="2"
+><tbody
+><row>
+ <entry
+><inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="automakemanager.png" format="PNG"/>
+ </imageobject>
+ </inlinemediaobject
+></entry>
+ <entry valign="top"
+><itemizedlist>
+ <listitem
+><para
+>&automanag; запускается в отдельном окне. Верхняя часть называется <emphasis
+>Верхним окном</emphasis
+>, а нижняя &mdash; <emphasis
+>окном деталей</emphasis
+>. Между ними располагается разделитель, который можно перетаскивать для регулировки размеров верхнего и нижнего окон. В режиме IDEAl можно также изменять ширину окна. </para
+></listitem>
+ <listitem
+><para
+>Вверху каждого окна есть <emphasis
+>панель инструментов</emphasis
+>, кнопки на которой активируются, когда выбирается элемент из списка в окне. роме того действия над элементами можно совершать через их контекстные меню. </para
+></listitem>
+ <listitem
+><para
+>В режиме IDEAl также есть две дополнительные кнопки, слева на заголовке окна &ndash; треугольная стрелка вправо и точка. Первая <emphasis
+>закрывает окно</emphasis
+>, а вторая <emphasis
+>сохраняет его открытым</emphasis
+> даже если активировано другое окно &tdevelop; (иначе окно &automanag; будет автоматически закрыто сразу после передачи фокуса на другое окно). </para
+></listitem>
+ </itemizedlist
+></entry>
+</row
+></tbody
+></tgroup>
+</informaltable>
+
+</sect2
+> <!-- automake-manager-operation-window -->
+
+<sect2 id="automake-manager-operation-survey-window">
+<title
+>Окно Overall View</title>
+
+<para
+>Окно Overall View содержит древовидный список каталогов вашего проекта, содержащих программные файлы, документацию или другие данные. В каждом из них находится файл <filename
+>Makefile.am</filename
+>, называемый в &automanag; <emphasis
+>подпроектом</emphasis
+> (<emphasis
+>subproject</emphasis
+>). Как показано на рисунке, есть три стандартных подпроекта: </para>
+
+<itemizedlist>
+ <listitem
+><para
+><filename
+>src</filename
+> &ndash; исходники вашего приложения, </para
+></listitem>
+ <listitem
+><para
+><filename
+>doc</filename
+> &ndash; руководство приложения (Handbook), </para
+></listitem>
+ <listitem
+><para
+><filename
+>po</filename
+> &ndash; файлы перевода, содержащие перевод всей текстовой информации вашего приложения (например, заголовки окон, пункты меню, названия кнопок). </para
+></listitem>
+</itemizedlist>
+
+<para
+>Обратите внимание, что <filename
+>doc</filename
+> всегда содержит подкаталог <filename
+>en</filename
+>. Это потому, что основной язык документации KDE &mdash; английский (en). Если ваше приложение станет частью KDE, команды перевода KDE переведёт его с английского на другие языки, размещаемые в других каталогах, например <filename
+>ru</filename
+> (русский) или <filename
+>uk</filename
+> (украинский). Сообщения в файле <filename
+>po</filename
+> также будут переведены, что позволит использовать ваше приложение людям, не знающим английский. </para>
+
+<note
+><para
+>Подкаталоги <filename
+>doc</filename
+> и <filename
+>po</filename
+> служат для разных целей. <filename
+>doc</filename
+> содержит <emphasis
+>документацию</emphasis
+>, такую как руководство, <filename
+>po</filename
+> содержит сообщения для перевода <emphasis
+>пользовательского интерфейса</emphasis
+>, встроенного в исходники данного приложения. </para
+></note>
+
+<para
+>Окно Общее просмотр (Overall View) также служит как средство навигации. Если вы выберите подпроект, подробности о нём будут отображены в окне Detail View. </para>
+
+</sect2
+> <!-- automake-manager-operation-survey-window -->
+
+<sect2 id="automake-manager-operation-detail-window">
+<title
+>Окно Detail View</title>
+
+<para
+>Окно Detail View содержит древовидный список файлов подпроекта, выделенного в окне Overall View, а также правила компиляции, сборки и установки для них. </para>
+
+<sect3>
+<title
+>Цели</title>
+
+<para
+>Древовидный список в Detail View имеет два уровня. Верхний состоит из т.н. <emphasis
+>целей</emphasis
+> (target) &automanag;, и нижний содержит списки файлов, составляющие каждую цель. </para>
+
+<para
+>Принцип цели &automanag; отличается от цели <filename
+>Makefile</filename
+>. Коротко:</para>
+<itemizedlist>
+ <listitem
+><para
+>Определение способа компиляции, сборки и установки набора файлов, известно как <emphasis
+>цель</emphasis
+> в &automanag;, и как <emphasis
+>переменная</emphasis
+> в <command
+>Automake</command
+>. </para
+></listitem>
+ <listitem
+><para
+><emphasis
+>Цель</emphasis
+> в <command
+>make</command
+> &mdash; параметр команды <command
+>make</command
+> (например <userinput
+>make install</userinput
+>, <userinput
+>make clean</userinput
+>). </para>
+ <para
+>Тем не менее, все переменные файла <filename
+>Makefile.am</filename
+> представляют<emphasis
+>подцель</emphasis
+> (sub-target) в <command
+>make</command
+>. </para
+></listitem>
+</itemizedlist>
+
+</sect3>
+</sect2
+> <!-- automake-manager-operation-detail-window -->
+
+<sect2 id="automake-manager-operation-navigate">
+<title
+>Навигация в &automanag;</title>
+
+<para
+>При щелчке в окне Overall View или Detail View на <symbol
+>+</symbol
+> или <symbol
+>-</symbol
+>, рядом с именем подпроекта или цели, приведёт развёртыванию или свёртыванию дерева. </para>
+
+<variablelist>
+<varlistentry>
+<term
+>Jткрытие файла для правки</term>
+<listitem>
+<para
+>При щелчке на файле в окне "Детали", он откроется в окне редактирования . &tdevelop;</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+>Активирование кнопок &automanag;</term>
+<listitem>
+<para
+>При щелчке на имени подпроекта в окне Overall View или цели в Detail View, активируются некоторые кнопки панели инструментов.</para>
+
+<note>
+ <para
+>Рекомендуется использовать <emphasis
+>контекстные меню</emphasis
+> вместо панели инструментов, т.к. так легче видеть и понимать что вы делаете. </para>
+ <para
+>Действия над подпроектами и целями широко действуют на структуру, компиляцию, сборку и установку вашего приложения. </para>
+</note>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+>Контекстные меню</term>
+<listitem>
+<para
+>В контекстном меню подпроекта, цели или файла можно выбрать действия над ними, например, добавить цель в подпроект, добавить или удалить файл из цели (не с диска). </para>
+</listitem>
+</varlistentry>
+</variablelist>
+
+</sect2
+> <!-- automake-manager-operation-navigate -->
+
+<sect2 id="automake-manager-operation-popups">
+<title
+>Контекстные меню &automanag;</title>
+
+<para
+>Далее изложен обзор контекстных меню &automanag;. Более подробное их описание вы найдёте в следующей главе. </para>
+<!-- ### add a link to this chapter when ready -->
+
+<sect3 id="automake-manager-operation-popups-file">
+<title
+>Контекстное меню файла</title>
+
+<para
+>На рисунке ниже показано контекстное меню для значка <filename
+>hi-16app-myapp.png</filename
+> из цели <guilabel
+>Icon data in myapp</guilabel
+> подпроекта <guilabel
+>myapp/src</guilabel
+>. </para>
+
+<informaltable frame="none">
+<tgroup cols="2"
+><tbody
+><row>
+ <entry
+><inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="automake-file-popup.png" format="PNG"/>
+ </imageobject>
+ </inlinemediaobject
+></entry>
+ <entry valign="bottom"
+><itemizedlist>
+ <listitem
+><para
+>Действие по умолчанию &mdash; <guimenuitem
+>Удалить</guimenuitem
+> файл из цели. </para
+></listitem>
+ <listitem
+><para
+>Подменю <guimenuitem
+>CVS</guimenuitem
+> содержит действия над файлом, касающиеся CVS. </para
+></listitem>
+ <listitem
+><para
+><guimenuitem
+>Открыть в</guimenuitem
+> позволяет открыть файл любой командой (например, в нашем случае, мы можем открыть значок в <application
+>KIcon</application
+>). </para
+></listitem>
+ <listitem
+><para
+><guimenuitem
+>Perforce</guimenuitem
+> &mdash; проприетарный пакет, аналогичный CVS. </para
+></listitem>
+ </itemizedlist
+></entry>
+</row
+></tbody
+></tgroup>
+</informaltable>
+
+</sect3
+> <!-- automake-manager-operation-popups-file -->
+
+<sect3 id="automake-manager-operation-popups-target">
+<title
+>Контекстное меню цели</title>
+
+<para
+>На рисунке ниже, выбрана цель <guilabel
+>myapp (Program in bin)</guilabel
+> подпроекта <guilabel
+>myapp/src</guilabel
+>. </para>
+
+<informaltable frame="none">
+<tgroup cols="2"
+><tbody
+><row>
+ <entry
+><inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="automake-target-popup.png" format="PNG"/>
+ </imageobject>
+ </inlinemediaobject
+></entry>
+ <entry valign="bottom"
+><itemizedlist>
+ <listitem
+><para
+><guimenuitem
+>Параметры</guimenuitem
+> только для целей, содержащих исходные файлы. Вы сможете указать ключи компоновщика и пути, по которым производить поиск библиотек, а также вы можете указать список библиотек, с которыми нужно компоновать ваше приложение. </para
+></listitem>
+ <listitem
+><para
+><guimenuitem
+>Создать файл</guimenuitem
+> приведёт к созданию нового файла. </para
+></listitem>
+ <listitem
+><para
+><guimenuitem
+>Добавить существующие файлы</guimenuitem
+> приведёт к добавлению файла. </para
+></listitem>
+ <listitem
+><para
+><guimenuitem
+>Удалить</guimenuitem
+> приведёт к удалению цели и всех её файлов с диска. </para
+></listitem>
+ <listitem
+><para
+><guimenuitem
+>Сделать цель активной</guimenuitem
+> только для целей, содержащих исходные файлы. Активирует текущую цель &mdash; новые файлы всегда добавляются в неё </para
+></listitem>
+ <listitem
+><para
+><guimenuitem
+>Собрать цель</guimenuitem
+> приведёт к сборке текущей цели. </para
+></listitem>
+ </itemizedlist
+></entry>
+</row
+></tbody
+></tgroup>
+</informaltable>
+
+</sect3
+> <!-- automake-manager-operation-popups-target -->
+
+<sect3 id="automake-manager-operation-popups-subproject">
+<title
+>Контекстное меню подпроекта</title>
+
+<para
+>Меню <emphasis
+>подпроекта</emphasis
+> позволяет делать масштабные изменения в структуре вашего проекта, а также способ его компиляции, сборки и установки. </para>
+
+
+<informaltable frame="none">
+<tgroup cols="2"
+><tbody
+><row>
+ <entry
+><inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="automake-subproject-popup.png" format="PNG"/>
+ </imageobject>
+ </inlinemediaobject
+></entry>
+ <entry valign="bottom"
+><itemizedlist>
+ <listitem
+><para
+><guimenuitem
+>Параметры</guimenuitem
+> содержит параметры компиляции, сборки и установки проекта. В появившемся диалоге будут вкладки Compiler, Includes, Prefixes и Build Order. </para
+></listitem>
+ <listitem
+><para
+><guimenuitem
+>Добавить подпроект</guimenuitem
+> создаст новый подкаталог в структуре проекта и начальный файл Makefile.am. </para
+></listitem>
+ <listitem
+><para
+><guimenuitem
+>Добавить цель</guimenuitem
+> откроет диалог, где вы сможете установить правила компиляции, сборки и установки файлов подпроекта. </para
+></listitem>
+ <listitem
+><para
+><guimenuitem
+>Добавить сервис</guimenuitem
+> (... в процессе написания ...) </para
+></listitem>
+ <listitem
+><para
+><guimenuitem
+>Добавить приложение</guimenuitem
+> (... в процессе написания ...) </para
+></listitem>
+ <listitem
+><para
+><guimenuitem
+>Добавить существующие подпроекты...</guimenuitem
+> (... в процессе написания ...) </para
+></listitem>
+ <listitem
+><para
+><guimenuitem
+>Удалить подпроект</guimenuitem
+> &mdash; правильный способ удаления подпроекта. При этом также "подправятся" файлы <filename
+>Makefile.am</filename
+>. Кроме того, будет предложено удалить все файлы, находящиеся в подкаталоге. Используйте это с осторожностью. </para
+></listitem>
+ <listitem
+><para
+><guimenuitem
+>Собрать</guimenuitem
+> приведёт к сборке текущего подпроекта. </para
+></listitem>
+ <listitem
+><para
+><guimenuitem
+>Пересоздать</guimenuitem
+> (... в процессе написания ...) </para
+></listitem>
+ <listitem
+><para
+><guimenuitem
+>Очистить</guimenuitem
+> (... в процессе написания ...) </para
+></listitem>
+ <listitem
+><para
+><guimenuitem
+>Установить</guimenuitem
+> (... в процессе написания ...) </para
+></listitem>
+ <listitem
+><para
+><guimenuitem
+>Установить (с правами root)</guimenuitem
+> (... в процессе написания ...) </para
+></listitem>
+ </itemizedlist
+></entry>
+</row
+></tbody
+></tgroup>
+</informaltable>
+
+</sect3
+> <!-- automake-manager-operation-popups-subproject -->
+
+</sect2
+> <!-- automake-manager-operation-popups -->
+
+</sect1
+> <!-- automake-manager-operation -->
+
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+
+<sect1 id="autoproject">
+<title
+>Automake</title>
+<indexterm zone="autoproject"
+><primary
+><command
+>autoproject</command
+></primary
+></indexterm>
+<indexterm zone="autoproject"
+><primary
+>&automake;</primary
+></indexterm>
+<indexterm zone="autoproject"
+><primary
+>&autoconf;</primary
+></indexterm>
+<indexterm zone="autoproject"
+><primary
+>&libtool;</primary
+></indexterm>
+
+<para
+>(... в процессе написания ...) </para>
+
+
+<sect2 id="autoconf">
+<title
+>Autoconf</title>
+<indexterm zone="autoconf"
+><primary
+>скрипт <filename
+>configure</filename
+></primary
+></indexterm>
+<indexterm zone="autoconf"
+><primary
+>скрипт <filename
+>config.status</filename
+></primary
+></indexterm>
+<indexterm zone="autoconf"
+><primary
+><filename
+>Makefile.in</filename
+></primary
+></indexterm>
+<indexterm zone="autoconf"
+><primary
+><filename
+>config.h.in</filename
+></primary
+></indexterm>
+
+<para
+><filename
+>Makefile.in</filename
+> в <filename
+>Makefile</filename
+> </para>
+
+<programlisting
+>prefix = @prefix@
+INSTALL = @INSTALL@
+build_triplet = @build@
+CXX = @CXX@
+</programlisting>
+
+<programlisting
+>prefix = /home/bernd/kde3
+INSTALL = /usr/bin/ginstall -c -p
+build_triplet = i686-pc-linux-gnu
+CXX = g++
+</programlisting>
+
+<para
+><filename
+>config.h.in</filename
+> в <filename
+>config.h</filename
+> </para>
+
+<programlisting
+>/* Define if you have libz */
+#undef HAVE_LIBZ
+/* Размер `int', как подсчитано sizeof. */
+#undef SIZEOF_INT
+</programlisting>
+
+<programlisting
+>/* Define if you have libz */
+#define HAVE_LIBZ 1
+/* Размер `int', как подсчитано sizeof. */
+#define SIZEOF_INT 4
+</programlisting>
+
+</sect2
+> <!-- autoconf -->
+
+
+<sect2 id="automake">
+<title
+>Automake</title>
+
+<para
+>(... в процессе написания ...) </para>
+
+</sect2
+> <!--automake -->
+
+
+<sect2 id="automake-manager">
+<title
+>&automanag;</title>
+
+<figure id="screenshot-automake-manager" float="1">
+<title
+>Снимок экрана менеджера automake</title>
+<mediaobject>
+<imageobject
+><imagedata fileref="automake-manager.png"/></imageobject>
+</mediaobject>
+</figure>
+
+</sect2
+> <!-- automake-manager -->
+
+
+<sect2 id="automakelibrary">
+<title
+>Сборка и установка библиотек</title>
+
+<para>
+<itemizedlist>
+<listitem
+><para
+>-rpath </para
+></listitem>
+<listitem
+><para
+>PIC </para
+></listitem>
+<listitem
+><para
+>static </para
+></listitem>
+<listitem
+><para
+>plugins: no-undefined </para
+></listitem>
+</itemizedlist>
+</para>
+
+</sect2
+> <!-- automakelibrary -->
+
+</sect1
+> <!-- autoproject -->
+
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+
+<sect1 id="customproject">
+<title
+>Специальные файлы makefile и сценарии сборки</title>
+<indexterm zone="customproject"
+><primary
+><filename
+>Makefile</filename
+></primary
+></indexterm>
+<indexterm zone="customproject"
+><primary
+><filename
+>build.xml</filename
+></primary
+></indexterm>
+
+<para
+>(... в процессе написания ...) </para>
+
+</sect1
+> <!-- customproject -->
+
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+
+<sect1 id="compileroptions">
+<title
+>Параметры компилятора</title>
+
+<para
+>(... в процессе написания ...) </para>
+
+</sect1
+> <!-- compileroptions -->
+
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+
+<sect1 id="makeoptions">
+<title
+>Параметры make</title>
+
+<para
+>(... в процессе написания ...) </para>
+
+</sect1
+> <!-- makeoptions -->
+
+</chapter
+> <!-- project-management -->