# Глава 13. Примерный Makefile

Вот примерный Makefile, который можно использовать при создании нового порта. Обязательно удалите все дополнительные комментарии (те, которые в скобках)!

Вам рекомендуется следовать этому формату (соблюдая порядок следования переменных, пустые строки между разделами, и так далее). Этот формат разработан для того, чтобы важная информация была легко найдена. Мы рекомендуем вам воспользоваться утилитой portlint для проверки файла Makefile.

    [заголовок...просто чтобы нам было легче идентифицировать порт.]
    # 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
    CATEGORIES=	print
    [не забывайте про завершающую косую черту ("/")!
     если вы не используете макросы MASTER_SITE_*]
    MASTER_SITES=	${MASTER_SITE_XCONTRIB}
    MASTER_SITE_SUBDIR= applications
    PKGNAMEPREFIX=	ja-
    DISTNAME=	xdvi-pl18
    [задайте это, если исходный код поставляется не в виде
     стандартного файла ".tar.gz"]
    EXTRACT_SUFX=	.tar.Z

    [секция патчей -- может быть пустой]
    PATCH_SITES=	ftp://ftp.sra.co.jp/pub/X11/japanese/
    PATCHFILES=	xdvi-18.patch1.gz xdvi-18.patch2.gz

    [сопровождающий; *обязательное поле*!  Это человек, который добровольно
     занимается обновлениями порта и неисправностями при построении, и которому
     пользователь может направлять вопросы и сообщения об ошибках.  Для
     сохранения как можно более высокого качества Коллекции Портов мы больше
     не принимаем новые порты, назначенные на "ports@FreeBSD.org".]
    MAINTAINER=	asami@FreeBSD.org
    COMMENT=	DVI Previewer for the X Window System

    [зависимости -- могут быть пустыми]
    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
    [и так далее]

    [В правилах ниже используются нестандартные переменные]
    MY_FAVORITE_RESPONSE=	"yeah, right"

    [теперь специальные правила, в порядке их вызова]
    pre-fetch:
    	я что-то выкачиваю, точно

    post-patch:
    	мне кое-что сделать после применения патча, великолепно

    pre-install:
    	и потом еще кое-что перед установкой, ого

    [и, наконец, эпилог]

    .include <bsd.port.mk>

Last modified on: 11 декабря 2021 г. by Sergio Carlavilla Delgado

Prev
Home
Next