FreeBSD ハンドブック : アプリケーションのインストール : ports コレクション : スケルトン : Makefile
Previous: スケルトン
Next: files ディレクトリ

4.4.1. Makefile

スケルトンのもっとも重要な要素は Makefile です. Makefile は ports を どのようにコンパイルし, インストールをおこなうかを指示する いろいろな命令を含んでいます. 以下に bash の Makefile を示します:-

 # 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>

"#" で始まる行は, 人間のためのコメント行です. (ほとんどの Unix のスクリプトと同じですね.)

`DISTNAME" は tarball の名前から拡張子を取ったものです.

`CATEGORIES" はこのプログラムの種類を示します.

`MASTER_SITES" はマスタ FTP サイトの URL です. もしローカルシステムに tarball がない場合には, ここから取得します. これは信頼できると考えられているサイトで, 通常はそのプログラムを インターネット上で公式に配布しているサイトです. (そのソフトウェアがインターネット上で「公式に」配布されているとしたら)

`MAINTAINER" は, 例えば新しいバージョンのプログラムが出た場合に, 必要であればスケルトンの更新をおこなう保守担当者の電子メールアドレスです. (注: 「保守担当者」というのは, スケルトンの管理者という意味であって, プログラムのサポートをおこなう責任は 負っていません. もし ports の不具合 を見つけた場合には, 電子メールは FreeBSD 移植ソフトウエアメーリングリスト <freebsd-ports@FreeBSD.ORG> に送ってください. 保守担当者には 送らないで ください. よろしく!)

次の数行はとりあえず飛ばします.

 .include <bsd.port.mk> 
この行は, この ports に必要なその他の命令やコマンドは `bsd.port.mk" に 入っているということです. すべての ports で同じものなので, すべての Makefile に 書いておく必要はありません. そのため単一の標準ファイルにまとめられています.

ここでは Makefile がどう働くかを詳細に調査するのが目的ではありませんので, `post-install" で始まる行は, bsd.port.mk に書かれている, プログラムを インストールした後での処理を置き換えていて, 最終的な場所に man ページを 置いた後で圧縮するように指示している, と言っておくだけで充分でしょう.


FreeBSD ハンドブック : アプリケーションのインストール : ports コレクション : スケルトン : Makefile
Previous: スケルトン
Next: files ディレクトリ
FreeBSD Home Page
www@freebsd.org
Updated May 23, 1997