The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "Руководства по FreeBSD на русском" / Оглавление документа

Chapter 17 Примерный Makefile

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

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

[заголовок...просто чтобы нам было легче идентифицировать порт.]
# New ports collection makefile for:   xdvi
[строчка "version required" необходима только тогда, когда переменная
PORTVERSION недостаточно конкретна для описания порта.]
# Date created:            26 May 1995
[Это человек, который сделал первоначальный порт для FreeBSD, в частности,
тот, кто создал первую версию этого файла Makefile.  Запомните, что позже
при обновлении порта эта строка меняться не должна.]
# Whom:                Satoshi Asami <asami@FreeBSD.org>
#
# $FreeBSD$
[ ^^^^^^^^^ Эта строка будет автоматически заменена со строчкой RCS ID
системой CVS при выполнении операции коммитта в наше хранилище.  При
обновлении порта не приводите эту строку обратно к виду
"$FreeBSD$".  CVS сделает все автоматически.]
#

[секция описания собственно порта и основного сервера - сначала всегда
 PORTNAME и PORTVERSIONA, за ним следует 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=       A DVI Previewer for the X Window System

[зависимости -- могут быть пустыми]
RUN_DEPENDS=   gs:${PORTSDIR}/print/ghostscript
LIB_DEPENDS=   Xpm.5:${PORTSDIR}/graphics/xpm

[этот раздел для остальных стандартных переменных из 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...]
USE_GMAKE=     yes
[Если это приложение X и требует запуска "xmkmf -a"...]
USE_IMAKE=     yes
[и так далее]

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

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

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

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

[и, наконец, эпилог]
.include <bsd.port.mk>
   
По вопросам связанным с системой портов для FreeBSD, пишите по адресу <ports@FreeBSD.org>.
По вопросам связанным с этой документацией, пишите по адресу <doc@FreeBSD.org>.


Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру