diff options
Diffstat (limited to 'tde-i18n-ru/docs/tdevelop/tdevelop/project-management.docbook')
-rw-r--r-- | tde-i18n-ru/docs/tdevelop/tdevelop/project-management.docbook | 1271 |
1 files changed, 246 insertions, 1025 deletions
diff --git a/tde-i18n-ru/docs/tdevelop/tdevelop/project-management.docbook b/tde-i18n-ru/docs/tdevelop/tdevelop/project-management.docbook index 2bcce57460c..9882e57e04f 100644 --- a/tde-i18n-ru/docs/tdevelop/tdevelop/project-management.docbook +++ b/tde-i18n-ru/docs/tdevelop/tdevelop/project-management.docbook @@ -2,477 +2,137 @@ <chapterinfo> <authorgroup> - <author -><firstname ->Bernd</firstname -><surname ->Pol</surname -></author> - <author -><firstname ->Ian</firstname -><surname ->Wadham</surname -></author> + <author><firstname>Bernd</firstname><surname>Pol</surname></author> + <author><firstname>Ian</firstname><surname>Wadham</surname></author> <!-- ROLES_OF_TRANSLATORS --> </authorgroup> </chapterinfo> -<title ->Сборка и управление проектом</title> +<title>Сборка и управление проектом</title> -<para ->Здесь затрагиваются только компилируемые языки, такие как C++, &Java;, фортран. </para> +<para>Здесь затрагиваются только компилируемые языки, такие как C++, &Java;, фортран. </para> -<para ->В руководстве затронуты такие темы:</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> + <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> +<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> +<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> + <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> +<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> + <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> +<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> + <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> +<para>Один из этих вариантов вам нужно будет выбрать при создании нового проекта, и <emphasis>выбор будет трудно сменить позже</emphasis>, так что заранее определите, какая система сборки наиболее подходит вам. </para> </important> -</sect2 -> <!-- automake-manager-summary-buildsys --> +</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> +<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.kdevelop.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> + <listitem><para>Краткое <ulink url="http://www.asmodeus.com.ua/library/soft/GNU/autoconf/autoconf-ru_toc.html">руководство autoconf</ulink> (<ulink url="http://www.kdevelop.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> <!-- 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; — создать структуру исходников, которую можно скомпилировать, построить и установить на любой системе &UNIX; или &Linux;, используя простые команды: </para> - -<screen ->./configure +<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; — создать структуру исходников, которую можно скомпилировать, построить и установить на любой системе &UNIX; или &Linux;, используя простые команды: </para> + +<screen>./configure make make install # с правами "root". </screen> -<para ->и удалить установленную программу командой <command ->make uninstall</command -> (также от root). </para> - -<para ->Как это работает? <command ->configure</command -> — это сценарий, который <itemizedlist> - <listitem -><para ->собирает информацию о системе, на которой работает, например, какой компилятор в ней установлен и какие библиотеки доступны и где, а потом </para -></listitem> - <listitem -><para ->рекурсивно создаёт файлы <filename ->Makefile</filename -> используя <filename ->Makefile.in</filename -> как шаблон. </para -></listitem> +<para>и удалить установленную программу командой <command>make uninstall</command> (также от root). </para> + +<para>Как это работает? <command>configure</command> — это сценарий, который <itemizedlist> + <listitem><para>собирает информацию о системе, на которой работает, например, какой компилятор в ней установлен и какие библиотеки доступны и где, а потом </para></listitem> + <listitem><para>рекурсивно создаёт файлы <filename>Makefile</filename> используя <filename>Makefile.in</filename> как шаблон. </para></listitem> </itemizedlist> </para> -<para ->Файлы <filename ->Makefile.in</filename -> — это <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 --> +<para>Файлы <filename>Makefile.in</filename> — это <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> +<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> + <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> <!-- 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> +<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> + <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 +<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 @@ -509,767 +169,328 @@ rc_DATA = myappui.rc AM_CXXFLAGS = -DMY_C++_PREPROCESSOR_OPTION </screen> -<para ->Как вы видите, большинство пунктов справа — набор символов в форме <varname ->$(xxx)</varname ->. Это <emphasis ->переменные окружения</emphasis ->, определённые в собственно окружении &kde;. Они заменяются действительными значениями когда <command ->./configure</command -> генерирует файлы <filename ->Makefile</filename -> из шаблонов. </para> - -<para ->Также, команда <command ->./configure --help</command -> отобразит список вещей, которые вы можете изменить во время сборки/компиляции. В частности, команда: <screen> +<para>Как вы видите, большинство пунктов справа — набор символов в форме <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> +</screen> будет перенаправлять устанавливаемые файлы куда вы захотите, сменой значения внутренней переменной <varname>$(prefix)</varname> на <filename class="directory">/где/вы/желаете</filename>. </para> -</sect2 -> <!-- automake-file-contents --> +</sect2> <!-- automake-file-contents --> -</sect1 -> <!-- automake-manager-summary --> +</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> +<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> +<title>Окно &automanag;</title> <informaltable frame="none"> -<tgroup cols="2" -><tbody -><row> - <entry -><inlinemediaobject> +<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 ->, а нижняя — <emphasis ->окном деталей</emphasis ->. Между ними располагается разделитель, который можно перетаскивать для регулировки размеров верхнего и нижнего окон. В режиме IDEAl можно также изменять ширину окна. </para -></listitem> - <listitem -><para ->Вверху каждого окна есть <emphasis ->панель инструментов</emphasis ->, кнопки на которой активируются, когда выбирается элемент из списка в окне. роме того действия над элементами можно совершать через их контекстные меню. </para -></listitem> - <listitem -><para ->В режиме IDEAl также есть две дополнительные кнопки, слева на заголовке окна – треугольная стрелка вправо и точка. Первая <emphasis ->закрывает окно</emphasis ->, а вторая <emphasis ->сохраняет его открытым</emphasis -> даже если активировано другое окно &tdevelop; (иначе окно &automanag; будет автоматически закрыто сразу после передачи фокуса на другое окно). </para -></listitem> - </itemizedlist -></entry> -</row -></tbody -></tgroup> + </inlinemediaobject></entry> + <entry valign="top"><itemizedlist> + <listitem><para>&automanag; запускается в отдельном окне. Верхняя часть называется <emphasis>Верхним окном</emphasis>, а нижняя — <emphasis>окном деталей</emphasis>. Между ними располагается разделитель, который можно перетаскивать для регулировки размеров верхнего и нижнего окон. В режиме IDEAl можно также изменять ширину окна. </para></listitem> + <listitem><para>Вверху каждого окна есть <emphasis>панель инструментов</emphasis>, кнопки на которой активируются, когда выбирается элемент из списка в окне. роме того действия над элементами можно совершать через их контекстные меню. </para></listitem> + <listitem><para>В режиме IDEAl также есть две дополнительные кнопки, слева на заголовке окна – треугольная стрелка вправо и точка. Первая <emphasis>закрывает окно</emphasis>, а вторая <emphasis>сохраняет его открытым</emphasis> даже если активировано другое окно &tdevelop; (иначе окно &automanag; будет автоматически закрыто сразу после передачи фокуса на другое окно). </para></listitem> + </itemizedlist></entry> +</row></tbody></tgroup> </informaltable> -</sect2 -> <!-- automake-manager-operation-window --> +</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> +<title>Окно Overall View</title> + +<para>Окно Overall View содержит древовидный список каталогов вашего проекта, содержащих программные файлы, документацию или другие данные. В каждом из них находится файл <filename>Makefile.am</filename>, называемый в &automanag; <emphasis>подпроектом</emphasis> (<emphasis>subproject</emphasis>). Как показано на рисунке, есть три стандартных подпроекта: </para> <itemizedlist> - <listitem -><para -><filename ->src</filename -> – исходники вашего приложения, </para -></listitem> - <listitem -><para -><filename ->doc</filename -> – руководство приложения (Handbook), </para -></listitem> - <listitem -><para -><filename ->po</filename -> – файлы перевода, содержащие перевод всей текстовой информации вашего приложения (например, заголовки окон, пункты меню, названия кнопок). </para -></listitem> + <listitem><para><filename>src</filename> – исходники вашего приложения, </para></listitem> + <listitem><para><filename>doc</filename> – руководство приложения (Handbook), </para></listitem> + <listitem><para><filename>po</filename> – файлы перевода, содержащие перевод всей текстовой информации вашего приложения (например, заголовки окон, пункты меню, названия кнопок). </para></listitem> </itemizedlist> -<para ->Обратите внимание, что <filename ->doc</filename -> всегда содержит подкаталог <filename ->en</filename ->. Это потому, что основной язык документации KDE — английский (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 --> +<para>Обратите внимание, что <filename>doc</filename> всегда содержит подкаталог <filename>en</filename>. Это потому, что основной язык документации KDE — английский (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> +<title>Окно Detail View</title> -<para ->Окно Detail View содержит древовидный список файлов подпроекта, выделенного в окне Overall View, а также правила компиляции, сборки и установки для них. </para> +<para>Окно Detail View содержит древовидный список файлов подпроекта, выделенного в окне Overall View, а также правила компиляции, сборки и установки для них. </para> <sect3> -<title ->Цели</title> - -<para ->Древовидный список в Detail View имеет два уровня. Верхний состоит из т.н. <emphasis ->целей</emphasis -> (target) &automanag;, и нижний содержит списки файлов, составляющие каждую цель. </para> - -<para ->Принцип цели &automanag; отличается от цели <filename ->Makefile</filename ->. Коротко:</para> +<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 -> — параметр команды <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> + <listitem><para>Определение способа компиляции, сборки и установки набора файлов, известно как <emphasis>цель</emphasis> в &automanag;, и как <emphasis>переменная</emphasis> в <command>Automake</command>. </para></listitem> + <listitem><para><emphasis>Цель</emphasis> в <command>make</command> — параметр команды <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> <!-- automake-manager-operation-detail-window --> <sect2 id="automake-manager-operation-navigate"> -<title ->Навигация в &automanag;</title> +<title>Навигация в &automanag;</title> -<para ->При щелчке в окне Overall View или Detail View на <symbol ->+</symbol -> или <symbol ->-</symbol ->, рядом с именем подпроекта или цели, приведёт развёртыванию или свёртыванию дерева. </para> +<para>При щелчке в окне Overall View или Detail View на <symbol>+</symbol> или <symbol>-</symbol>, рядом с именем подпроекта или цели, приведёт развёртыванию или свёртыванию дерева. </para> <variablelist> <varlistentry> -<term ->Jткрытие файла для правки</term> +<term>Jткрытие файла для правки</term> <listitem> -<para ->При щелчке на файле в окне "Детали", он откроется в окне редактирования . &tdevelop;</para> +<para>При щелчке на файле в окне "Детали", он откроется в окне редактирования . &tdevelop;</para> </listitem> </varlistentry> <varlistentry> -<term ->Активирование кнопок &automanag;</term> +<term>Активирование кнопок &automanag;</term> <listitem> -<para ->При щелчке на имени подпроекта в окне Overall View или цели в Detail View, активируются некоторые кнопки панели инструментов.</para> +<para>При щелчке на имени подпроекта в окне Overall View или цели в Detail View, активируются некоторые кнопки панели инструментов.</para> <note> - <para ->Рекомендуется использовать <emphasis ->контекстные меню</emphasis -> вместо панели инструментов, т.к. так легче видеть и понимать что вы делаете. </para> - <para ->Действия над подпроектами и целями широко действуют на структуру, компиляцию, сборку и установку вашего приложения. </para> + <para>Рекомендуется использовать <emphasis>контекстные меню</emphasis> вместо панели инструментов, т.к. так легче видеть и понимать что вы делаете. </para> + <para>Действия над подпроектами и целями широко действуют на структуру, компиляцию, сборку и установку вашего приложения. </para> </note> </listitem> </varlistentry> <varlistentry> -<term ->Контекстные меню</term> +<term>Контекстные меню</term> <listitem> -<para ->В контекстном меню подпроекта, цели или файла можно выбрать действия над ними, например, добавить цель в подпроект, добавить или удалить файл из цели (не с диска). </para> +<para>В контекстном меню подпроекта, цели или файла можно выбрать действия над ними, например, добавить цель в подпроект, добавить или удалить файл из цели (не с диска). </para> </listitem> </varlistentry> </variablelist> -</sect2 -> <!-- automake-manager-operation-navigate --> +</sect2> <!-- automake-manager-operation-navigate --> <sect2 id="automake-manager-operation-popups"> -<title ->Контекстные меню &automanag;</title> +<title>Контекстные меню &automanag;</title> -<para ->Далее изложен обзор контекстных меню &automanag;. Более подробное их описание вы найдёте в следующей главе. </para> +<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> +<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> +<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 ->Действие по умолчанию — <guimenuitem ->Удалить</guimenuitem -> файл из цели. </para -></listitem> - <listitem -><para ->Подменю <guimenuitem ->CVS</guimenuitem -> содержит действия над файлом, касающиеся CVS. </para -></listitem> - <listitem -><para -><guimenuitem ->Открыть в</guimenuitem -> позволяет открыть файл любой командой (например, в нашем случае, мы можем открыть значок в <application ->TDEIcon</application ->). </para -></listitem> - <listitem -><para -><guimenuitem ->Perforce</guimenuitem -> — проприетарный пакет, аналогичный CVS. </para -></listitem> - </itemizedlist -></entry> -</row -></tbody -></tgroup> + </inlinemediaobject></entry> + <entry valign="bottom"><itemizedlist> + <listitem><para>Действие по умолчанию — <guimenuitem>Удалить</guimenuitem> файл из цели. </para></listitem> + <listitem><para>Подменю <guimenuitem>CVS</guimenuitem> содержит действия над файлом, касающиеся CVS. </para></listitem> + <listitem><para><guimenuitem>Открыть в</guimenuitem> позволяет открыть файл любой командой (например, в нашем случае, мы можем открыть значок в <application>TDEIcon</application>). </para></listitem> + <listitem><para><guimenuitem>Perforce</guimenuitem> — проприетарный пакет, аналогичный CVS. </para></listitem> + </itemizedlist></entry> +</row></tbody></tgroup> </informaltable> -</sect3 -> <!-- automake-manager-operation-popups-file --> +</sect3> <!-- automake-manager-operation-popups-file --> <sect3 id="automake-manager-operation-popups-target"> -<title ->Контекстное меню цели</title> +<title>Контекстное меню цели</title> -<para ->На рисунке ниже, выбрана цель <guilabel ->myapp (Program in bin)</guilabel -> подпроекта <guilabel ->myapp/src</guilabel ->. </para> +<para>На рисунке ниже, выбрана цель <guilabel>myapp (Program in bin)</guilabel> подпроекта <guilabel>myapp/src</guilabel>. </para> <informaltable frame="none"> -<tgroup cols="2" -><tbody -><row> - <entry -><inlinemediaobject> +<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 -> только для целей, содержащих исходные файлы. Активирует текущую цель — новые файлы всегда добавляются в неё </para -></listitem> - <listitem -><para -><guimenuitem ->Собрать цель</guimenuitem -> приведёт к сборке текущей цели. </para -></listitem> - </itemizedlist -></entry> -</row -></tbody -></tgroup> + </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> только для целей, содержащих исходные файлы. Активирует текущую цель — новые файлы всегда добавляются в неё </para></listitem> + <listitem><para><guimenuitem>Собрать цель</guimenuitem> приведёт к сборке текущей цели. </para></listitem> + </itemizedlist></entry> +</row></tbody></tgroup> </informaltable> -</sect3 -> <!-- automake-manager-operation-popups-target --> +</sect3> <!-- automake-manager-operation-popups-target --> <sect3 id="automake-manager-operation-popups-subproject"> -<title ->Контекстное меню подпроекта</title> +<title>Контекстное меню подпроекта</title> -<para ->Меню <emphasis ->подпроекта</emphasis -> позволяет делать масштабные изменения в структуре вашего проекта, а также способ его компиляции, сборки и установки. </para> +<para>Меню <emphasis>подпроекта</emphasis> позволяет делать масштабные изменения в структуре вашего проекта, а также способ его компиляции, сборки и установки. </para> <informaltable frame="none"> -<tgroup cols="2" -><tbody -><row> - <entry -><inlinemediaobject> +<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 -> — правильный способ удаления подпроекта. При этом также "подправятся" файлы <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> + </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> — правильный способ удаления подпроекта. При этом также "подправятся" файлы <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 --> +</sect3> <!-- automake-manager-operation-popups-subproject --> -</sect2 -> <!-- automake-manager-operation-popups --> +</sect2> <!-- automake-manager-operation-popups --> -</sect1 -> <!-- automake-manager-operation --> +</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> +<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@ +<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 +<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> +<para><filename>config.h.in</filename> в <filename>config.h</filename> </para> -<programlisting ->/* Define if you have libz */ +<programlisting>/* Define if you have libz */ #undef HAVE_LIBZ /* Размер `int', как подсчитано sizeof. */ #undef SIZEOF_INT </programlisting> -<programlisting ->/* Define if you have libz */ +<programlisting>/* Define if you have libz */ #define HAVE_LIBZ 1 /* Размер `int', как подсчитано sizeof. */ #define SIZEOF_INT 4 </programlisting> -</sect2 -> <!-- autoconf --> +</sect2> <!-- autoconf --> <sect2 id="automake"> -<title ->Automake</title> +<title>Automake</title> -<para ->(... в процессе написания ...) </para> +<para>(... в процессе написания ...) </para> -</sect2 -> <!--automake --> +</sect2> <!--automake --> <sect2 id="automake-manager"> -<title ->&automanag;</title> +<title>&automanag;</title> <figure id="screenshot-automake-manager" float="1"> -<title ->Снимок экрана менеджера automake</title> +<title>Снимок экрана менеджера automake</title> <mediaobject> -<imageobject -><imagedata fileref="automake-manager.png"/></imageobject> +<imageobject><imagedata fileref="automake-manager.png"/></imageobject> </mediaobject> </figure> -</sect2 -> <!-- automake-manager --> +</sect2> <!-- automake-manager --> <sect2 id="automakelibrary"> -<title ->Сборка и установка библиотек</title> +<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> +<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 --> +</sect2> <!-- automakelibrary --> -</sect1 -> <!-- autoproject --> +</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 --> +<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> +<title>Параметры компилятора</title> -<para ->(... в процессе написания ...) </para> +<para>(... в процессе написания ...) </para> -</sect1 -> <!-- compileroptions --> +</sect1> <!-- compileroptions --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="makeoptions"> -<title ->Параметры make</title> +<title>Параметры make</title> -<para ->(... в процессе написания ...) </para> +<para>(... в процессе написания ...) </para> -</sect1 -> <!-- makeoptions --> +</sect1> <!-- makeoptions --> -</chapter -> <!-- project-management --> +</chapter> <!-- project-management --> |