aboutsummaryrefslogtreecommitdiff
path: root/documentation/content/ru/books/porters-handbook/porting-samplem/_index.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/content/ru/books/porters-handbook/porting-samplem/_index.adoc')
-rw-r--r--documentation/content/ru/books/porters-handbook/porting-samplem/_index.adoc138
1 files changed, 63 insertions, 75 deletions
diff --git a/documentation/content/ru/books/porters-handbook/porting-samplem/_index.adoc b/documentation/content/ru/books/porters-handbook/porting-samplem/_index.adoc
index c5c89e657d..d4dd67a440 100644
--- a/documentation/content/ru/books/porters-handbook/porting-samplem/_index.adoc
+++ b/documentation/content/ru/books/porters-handbook/porting-samplem/_index.adoc
@@ -1,22 +1,24 @@
---
-title: Глава 13. Примерный Makefile
+description: 'Образец Makefile, который можно использовать для создания нового порта FreeBSD'
+next: books/porters-handbook/order
+params:
+ path: /books/porters-handbook/porting-samplem/
prev: books/porters-handbook/porting-dads
-next: books/porters-handbook/keeping-up
showBookMenu: true
-weight: 13
-params:
- path: "/books/porters-handbook/porting-samplem/"
+tags: ["sample", "makefile"]
+title: 'Глава 14. Примерный Makefile'
+weight: 14
---
[[porting-samplem]]
-= Примерный [.filename]#Makefile#
+= Примерный Makefile
:doctype: book
:toc: macro
:toclevels: 1
:icons: font
:sectnums:
:sectnumlevels: 6
-:sectnumoffset: 13
+:sectnumoffset: 14
:partnums:
:source-highlighter: rouge
:experimental:
@@ -46,86 +48,55 @@ toc::[]
include::../../../../../shared/asciidoctor.adoc[]
endif::[]
-Вот примерный [.filename]#Makefile#, который можно использовать при создании нового порта. Обязательно удалите все дополнительные комментарии (те, которые в скобках)!
+Образец Makefile, который можно использовать для создания нового порта.
-Вам рекомендуется следовать этому формату (соблюдая порядок следования переменных, пустые строки между разделами, и так далее). Этот формат разработан для того, чтобы важная информация была легко найдена. Мы рекомендуем вам воспользоваться утилитой <<porting-portlint,portlint>> для проверки файла [.filename]#Makefile#.
+Вам рекомендуется следовать этому формату (соблюдая crossref:order[,порядок] следования переменных, пустые строки между разделами, и так далее). Этот формат разработан для того, чтобы важная информация была легко найдена. Обратитесь crossref:testing[, главе о тестировании], чтобы узнать больше о lint, утилитах для форматирования и проверки файла [.filename]#Makefile#.
[.programlisting]
....
-[заголовок...просто чтобы нам было легче идентифицировать порт.]
-# Created by: Satoshi Asami <asami@FreeBSD.org>
-[Необязательная строка Created by: содержит имя
-человека, создавшего первоначальную версию порта. Следует отметить,
-что за : следует пробел, но не символ табуляции. Если
-эта строка присутствует, будущие сопровождающие не должны её менять
-или удалять, кроме как по запросу первоначального автора.]
-
-# $FreeBSD$
-[ ^^^^^^^^^ Эта строка будет автоматически заменена на строчку RCS ID
-системой SVN при выполнении операции коммита в наше хранилище. При
-обновлении порта не приводите эту строку обратно к виду
-"$FreeBSD$". SVN сделает это автоматически.]
-
-[секция описания собственно порта и основного сервера - сначала всегда
- PORTNAME и PORTVERSION, за ним следует CATEGORIES, а затем
- MASTER_SITES, за которым может идти MASTER_SITE_SUBDIR.
- PKGNAMEPREFIX и PKGNAMESUFFIX, если они нужны, следуют за ними.
- Затем следует DISTNAME, EXTRACT_SUFX и/или DISTFILES, а потом, если это нужно,
- EXTRACT_ONLY.]
-PORTNAME= xdvi
-PORTVERSION= 18.2
+PORTNAME= xdvi <1>
+DISTVERSION= 18.2
CATEGORIES= print
-[не забывайте про завершающую косую черту ("/")!
- если вы не используете макросы MASTER_SITE_*]
-MASTER_SITES= ${MASTER_SITE_XCONTRIB}
-MASTER_SITE_SUBDIR= applications
+MASTER_SITES= ${MASTER_SITE_XCONTRIB} <2>
+MASTER_SITE_SUBDIR= applications
PKGNAMEPREFIX= ja-
DISTNAME= xdvi-pl18
-[задайте это, если исходный код поставляется не в виде
- стандартного файла ".tar.gz"]
-EXTRACT_SUFX= .tar.Z
+EXTRACT_SUFX= .tar.Z <3>
-[секция патчей -- может быть пустой]
-PATCH_SITES= ftp://ftp.sra.co.jp/pub/X11/japanese/
+PATCH_SITES= ftp://ftp.sra.co.jp/pub/X11/japanese/ <4>
PATCHFILES= xdvi-18.patch1.gz xdvi-18.patch2.gz
+PATCH_DIST_STRIP= -p1 <5>
-[сопровождающий; *обязательное поле*! Это человек, который добровольно
- занимается обновлениями порта и неисправностями при построении, и которому
- пользователь может направлять вопросы и сообщения об ошибках. Для
- сохранения как можно более высокого качества Коллекции Портов мы больше
- не принимаем новые порты, назначенные на "ports@FreeBSD.org".]
-MAINTAINER= asami@FreeBSD.org
+MAINTAINER= asami@FreeBSD.org <6>
COMMENT= DVI Previewer for the X Window System
+WWW= http://xdvi.sourceforge.net/
+
+LICENSE= BSD2CLAUSE <7>
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= gs:print/ghostscript <8>
+
+USES= gmake <9>
-[зависимости -- могут быть пустыми]
-RUN_DEPENDS= gs:${PORTSDIR}/print/ghostscript
-
-[этот раздел для остальных стандартных переменных из bsd.port.mk, кроме
- тех, что перечислены выше]
-[Если порт задает вопросы во время этапов настройки, построения,
- установки...]
-IS_INTERACTIVE= yes
-[Если распаковка происходит в каталог, отличных от ${DISTNAME}...]
-WRKSRC= ${WRKDIR}/xdvi-new
-[Если патчи делались не относительно ${WRKSRC}, вам, может быть, не
- придется изменять эту переменную]
-PATCH_DIST_STRIP= -p1
-[Если порт требует скрипта "configure", генерируемого GNU-версией программы
- autoconf]
-GNU_CONFIGURE= yes
-[Если для построения порту требуется GNU-версия утилиты make, а не
- /usr/bin/make...]
-USES= gmake
-[Если это приложение X и требует запуска "xmkmf -a"...]
-USES= imake
-[и так далее]
-
-[В правилах ниже используются нестандартные переменные]
+<10>
+IS_INTERACTIVE= yes <11>
+WRKSRC= ${WRKDIR}/xdvi-new <12>
+GNU_CONFIGURE= yes <13>
+
+<14>
+OPTIONS_DEFINE= DOCS EXAMPLES FOO
+OPTIONS_DEFAULT=FOO
+OPTIONS_SUB= yes <15>
+
+FOO_DESC= Enable foo support
+FOO_CONFIGURE_ENABLE= foo
+
+<16>
MY_FAVORITE_RESPONSE= "yeah, right"
-[теперь специальные правила, в порядке их вызова]
+<17>
pre-fetch:
- я что-то выкачиваю, точно
+ i go fetch something, yeah
post-patch:
мне кое-что сделать после применения патча, великолепно
@@ -133,7 +104,24 @@ post-patch:
pre-install:
и потом еще кое-что перед установкой, ого
-[и, наконец, эпилог]
-
-.include <bsd.port.mk>
+.include <bsd.port.mk> <18>
....
+
+<1> Секция для описания самого порта и его главного сайта: первыми идут переменные PORTNAME и PORTVERSION или DISTVERSION*, на ними CATEGORIES, затем MASTER_SITES, после которой идет MASTER_SITE_SUBDIR. Если нужно, то после нее идут PKGNAMEPREFIX и PKGNAMESUFFIX. Затем следуют DISTNAME, EXTRACT_SUFX и/или DISTFILES, и уже потом, если нужно, EXTRACT_ONLY.
+<2> Не забывайте про завершающую косую черту (`/`), если вы не используете макросы MASTER_SITE_*.
+<3> Задайте это, если исходный код поставляется не в виде стандартного файла ".tar.gz".
+<4> Секция патчей — может быть пустой.
+<5> Если распространяемые патчи не были созданы относительно ${WRKSRC},возможно, это потребуется исправить вручную.
+<6> Сопровождающий; *обязательное поле*! Это человек, который добровольно занимается обновлениями порта и неисправностями при построении, и которому пользователь может направлять вопросы и сообщения об ошибках. Для сохранения как можно более высокого качества Коллекции Портов мы больше не принимаем новые порты, назначенные на "ports@FreeBSD.org".
+<7> Лицензия — не следует оставлять пустым.
+<8> Зависимости — могут быть пустыми.
+<9> Если порт требует GNU make вместо стандартного FreeBSD `make` (man:make[1]) для сборки. Например, некоторым приложениям X требуется выполнение `xmkmf -a`, в этом случае порту понадобится `USES=imake`.
+<10> Этот раздел посвящён другим стандартным переменным [.filename]#bsd.port.mk#, которые не относятся ни к одной из вышеперечисленных категорий.
+<11> Если порты задают интерактивные вопросы во время настройки, сборки, установки.
+<12> Если извлечение происходит в каталог, отличный от `DISTNAME`.
+<13> Если требуется запустить скрипт `configure`, сгенерированный GNU autoconf.
+<14> Этот раздел предназначен для настройки параметров портов.
+<15> Установите `OPTIONS_SUB`, если параметры изменят список файлов в crossref:plist[plist-sub, plist].
+<16> В правилах ниже используются нестандартные переменные.
+<17> Специальные правила, в порядке их вызова фреймворком портов.
+<18> Наконец, эпилог.