FreeBSD ハンドブック : アプリケーションのインストール : ports コレクション : 自分で port を作る : Makefileのお手本
Previous: やってよいことといけないこと
Next: Packageの名前

4.7.9. Makefileのお手本

これはportのMakefileを作る際のお手本です. かぎかっこ ([])内のコメントは忘れずに取ってください.

変数の順番, 段落の間の空行など, Makefileを作るときはなるべくこ の形式にしたがってください. この形式は重要な情報が簡単に見つけら れるように設計されています. portlint を使って Makefile をチェックすることが 推奨されています.

 [ヘッダ -- どのようなportのMakefileかすぐにわかるようになっています]
 # New ports collection makefile for:	xdvi
 # Version required:	pl18 ["1.5alpha" みたいなのでも結構です]
 [この Makefile の最初の版が作成された日付です.  この port をアップグ
  レードするときには変えないでください.]
 # Date created:	26 May 1995
 [このソフトウェアを最初に FreeBSD に port した人の名前, つまり, 
  この Makefile の最初の版を書いた人です. この port をアップグレー
  ドするとき, この行も変えないでください.]
 # Whom:		Satoshi Asami <asami@FreeBSD.ORG>
 #
 # $Id$
 [ ^^^^ この部分は, CVS ツリーに入れる時に自動的に RCS の ID 文字列に
  置き換えられます.]
 #
 
 [Port自体, およびオリジナルのソースを取ってくるところを記述する部分.
  最初は必ずDISTNAME, そして必要ならPKGNAME, CATEGORIES, 続いて
  MASTER_SITESがおかれ, さらに MASTER_SITE_SUBDIR がおかれることもあり
  ます. そのあと, EXTRACT_SUFX か DISTFILES を指定することも可能です]
 DISTNAME=	xdvi
 PKGNAME=	xdvi-pl18
 CATEGORIES=	print
 [MASTER_SITE_* マクロを使用しない場合は,
 最後のスラッシュを忘れないように ("/")!]
 MASTER_SITES= ${MASTER_SITE_XCONTRIB}
 MASTER_SITE_SUBDIR= applications
 [ソースファイルが標準の ".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
 
 [依存するport -- ない場合もあります]
 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
 [GNU autoconfによって生成された "configure" スクリプトを走らせたいなら...]
 GNU_CONFIGURE=	yes
 [/usr/bin/makeでなく, GNU makeを使わないといけないなら...]
 USE_GMAKE=	yes
 [これがXのアプリケーションで "xmkmf -a" を走らせたいなら...]
 USE_IMAKE=	yes
 [などなど]
 
 [下の方のルールで使う非標準の変数]
 MY_FAVORITE_RESPONSE=	"yeah, right"
 
 [そして, 特別なターゲット, 使用順に]
 pre-fetch:
	 i go fetch something, yeah

 post-patch:
	 i need to do something after patch, great
 
 pre-install:
	 and then some more stuff before installing, wow
 
 [最後には必ず]
 .include <bsd.port.mk>


FreeBSD ハンドブック : アプリケーションのインストール : ports コレクション : 自分で port を作る : Makefileのお手本
Previous: やってよいことといけないこと
Next: Packageの名前