16.8. `bsd.port.mk` の後に書くこと
戻る | 第16章 やっていいことといけないこと | 次へ

## 16.8. `bsd.port.mk` の後に書くこと

`.include <bsd.port.mk>` の行の後には何も書かないようにしてください。 大抵の場合は `Makefile` の中程のどこかで `bsd.port.pre.mk` をインクルードして、 最後に `bsd.port.pre.mk` をインクルードすることによって避けることができます。

### 注記:

`bsd.port.pre.mk`/`bsd.port.post.mk` のペアか `bsd.port.mk` だけのどちらかだけをインクルードし、二つを混ぜないでください。

前者はいくつかの変数の定義だけをして `Makefile` でのテストに使用し、後者は残りを定義します。

以下は `bsd.port.pre.mk` で定義される重要な変数です (これは、すべてではありません。 完全なリストは `bsd.port.mk` を参照してください)。

変数名 | 解説
--- | ---
`ARCH` | `uname -m` で返されるアーキテクチャ。(例、`i386`)。
`OPSYS` | `uname -s` で返されるオペレーティングシステム (例、`FreeBSD`)。
`OSREL` | オペレーティングシステムのリリースバージョン (例、`2.1.5`, `2.2.7`)。
`OSVERSION` | 数字形式のオペレーティングシステムのバージョン、 上記の `__FreeBSD_version` と同じです。
`PORTOBJFORMAT` | システムのオブジェクトフォーマット (`elf` あるいは `aout` ただし、「最近の」 FreeBSD のバージョンでは `aout` は廃止予定になっています)。
`LOCALBASE` | 「local」 ツリーのベース。 (例、`/usr/local/`)。
`X11BASE` | 「X11」 ツリーのベース。 (例、`/usr/X11R6/`)。
`PREFIX` | ports のインストール先 ( `PREFIX`についてを参照)。

### 注記:

`USE_IMAKE`, `USE_X_PREFIX` あるいは `MASTERDIR` などの変数を定義する必要がある場合には、 `bsd.port.pre.mk` をインクルード前に定義してください。 他のものは `bsd.port.pre.mk` の前でも後でもかまいません。

以下は `bsd.port.pre.mk` の後に書けるものの例です。

# no need to compile lang/perl5 if perl5 is already in system .if ${OSVERSION} > 300003 BROKEN= perl is in system .endif # only one shlib version number for ELF .if ${PORTOBJFORMAT} == "elf" TCL_LIB_FILE= ${TCL_LIB}.${SHLIB_MAJOR} .else TCL_LIB_FILE= ${TCL_LIB}.${SHLIB_MAJOR}.${SHLIB_MINOR} .endif # software already makes link for ELF, but not for a.out post-install: .if ${PORTOBJFORMAT} == "aout" ${LN} -sf liblinpack.so.1.0 ${PREFIX}/lib/liblinpack.so .endif

`BROKEN=` と `TCL_LIB_FILE=` の後にスペースではなくタブを使うことを覚えていましたか? :-)

戻る | 上に戻る | 次へ
16.7. __FreeBSD_version の値 | ホーム | 16.9. 付加的な文書のインストール

本文書、および他の文書は ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ からダウンロードできます。

FreeBSD に関する質問がある場合には、 ドキュメント を読んだ上で <questions@FreeBSD.org> まで (英語で) 連絡してください。
本文書に関する質問については、 <doc@FreeBSD.org> まで電子メールを (英語で) 送ってください。