diff options
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.adoc | 138 |
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> Наконец, эпилог. |