Наиболее важной частью каркаса является Makefile. В нем находятся разлицные спецификации, показывающие как надо компилировать и устанавливать порт. Например, возьмем Makefile для bash:
# New ports collection makefile for: bash # Version required: 1.14.5 # Date created: 21 August 1994 # Whom: jkh # # Makefile,v 1.13 1995/10/04 14:45:01 asami Exp # DISTNAME= bash-1.14.5 CATEGORIES= shells MASTER_SITES= ftp://slc2.ins.cwru.edu/pub/dist/ MAINTAINER= ache@FreeBSD.ORG post-install: .if !defined(NOMANCOMPRESS) gzip -9nf ${PREFIX}/man/man1/bash.1 ${PREFIX}/man/man1/bash_builtins.1 .endif .include <bsd.port.mk>
Строки начинающиеся с символа "#" sign - это комментарии, использующиеся только для удобства человека (как и в большинстве файлов со скриптами в Unix).
`DISTNAME" указывает имя , но без суффикса.
`CATEGORIES" описывает категорию, к которой принадлежит эта программы.
`MASTER_SITES" это список адресов FTP-узлов, которые используются для того чтобы скачать , если его нет на локальной машине. Эти узлы обычно имеют хорошую репутацию, и, почти всегда, один из них - это узел с которого эта программа оффициально распространяется (конечно, если она вообще "оффициально" распостраняется по Интернет)
`MAINTAINER" - это email человека, который ответственнен за освежение этого каркаса, например, в случае выхода новой версии программы. (Замечание: звание "maintainer" - в основном чисто административный; это не означает, что этот человек занимается поддержкой этой программы. Если у вас есть какие-нибудь , то, пожалуйста пишите в список рассылки FreeBSD , а не по email, указанному в этом поле. Спасибо!)
Давайте ненадолго пропустим несколько следующих строчек, и посмотрим на строку .include <bsd.port.mk> в которой говорится что все прочие команды и правила необходимые для того, чтобы создать порт находятся в стандартном файле `bsd.port.mk". Так как они одинаковы для всех портов, то нет необходимости повторять их в каждом файле, поэтому они и хранятся в отдельном стандартном файле.
Это скорее всего не самое правильное место для того, чтобы лезть в детали того, как работают эти Makefile; Достаточно сказать, что строки, начиная с ost-install" переопределяют инструкции в bsd.port.mk о том что делать после установки программы, так что справочная информация может быть сжата после того, как ее уже положили на место назначения.