Chapter 4. Makefile の作成

Table of Contents
4.1. オリジナルのソース
4.2. PORTNAME および PORTVERSION
4.3. PORTREVISION および PORTEPOCH
4.4. PKGNAMEPREFIX および PKGNAMESUFFIX
4.5. DISTNAME
4.6. CATEGORIES
4.7. MASTER_SITES
4.8. PATCHFILES
4.9. MAINTAINER
4.10. 依存関係
4.11. オプション選択可能な依存ライブラリ
4.12. ビルドのメカニズム

Makefile の作成は非常に単純です。 繰り返しますが、始めるまえに既存の例を見ておくことを推奨します。 また、このハンドブックには Makefile のサンプルがあります。 それを見て、Makefile 内の変数の順番や 空行を入れるところなどの参考にしてください。 そうすると他の人々にも読みやすいものとなります。

では、Makefile を設計するときに 問題となるところを順に追って見てみましょう。

4.1. オリジナルのソース

ソースは foozolix-1.2.tar.gz といった名前の 標準的な gzip された tar ファイルの形式で DISTDIR に置かれていますか? そうなっていれば、次のステップに進めます。 異なっている場合には、変数 DISTNAME, EXTRACT_CMD, EXTRACT_BEFORE_ARGS, EXTRACT_AFTER_ARGS, EXTRACT_SUFX, DISTFILES のうち いくつかを書き換える必要があります。 どれだけ変更しないといけないかは、その port の配布ファイルが どの程度標準からかけはなれているかによります (最もよくあるのは gzip ではなく普通の compress コマンドで tar ファイルが圧縮されている場合で、そのときは EXTRACT_SUFX=.tar.Z とするだけです)。

最悪の場合には、自分で do-extract ターゲットを作成して、 デフォルトを上書きすることもできます。 しかし、そこまでする必要があることはめったにないでしょう。

FreeBSD ports システムに関する質問は、(英語で) <ports@FreeBSD.org> へ、
この文書の原文に関するお問い合わせは、(英語で) <doc@FreeBSD.org> までお願いします。