MAKE.CONF(5)

名称
make.conf - システムビルド情報

解説
make.conf ファイルには FreeBSD のソースや ports アプリケーションの制御に関する設定が含まれています。 通常 make.conf ファイルは、システム管理者が、 これらの値をデフォルトから変更したい場合に作成します。

make.conf の用途は、コマンド実行やコンパイル動作を直接行うことではなく、 /usr/src, /usr/ports, /usr/doc などにある様々な makefile にインクルードされることです。 そのような makefile では、 内部の動作が make.conf の与える条件によって変化するようになっているのです。

/etc/make.conf ファイルはそれぞれ適切な Makefile からインクルードされます。 各々の Makefile の中では、 利用可能なすべてのオプションに対し、デフォルトの設定が与えられています。 /etc/make.conf で指定する必要があるオプションは、 システム管理者がデフォルトから変更したいと思ったものだけです。

ビルドの手続きは、大きく 4 つの領域に分けられます。 world、カーネル、ドキュメント、ports です。 make.conf で設定された変数はこれらの領域の 1 つ、2 つ、 あるいは全てに適用されます。 変数は、特定のビルドに対して make(1) の -D オプションを用いて指定することもできます。

以下のリストでは、それぞれ指定したビルドの途中で用いることのできる 各変数の名前と簡単な説明を記述します。 bool と指定されている変数では、その値は意味を持ちません。 変数が設定されていれば (たとえ値が “FALSE” や “NO” でも)、変数が設定されているものとして扱われます。

次のリストは、すべてのビルド (あるいはビルド以外の目的で使われる Makefile) で用いられる変数の名前と簡単な説明です。

CFLAGS
    (str) C のコードをコンパイルするときのコンパイラの設定を制御します。 -O を越えた最適化レベル (-O2, ...) はサポートされていません。 BDECFLAGS は、 Bruce Evans <bde@FreeBSD.org> が開発や変更のテスト用に勧めている gcc(1) 設定です。 これは、設定すれば、以下のように使用可能です。

        CFLAGS+=${BDECFLAGS}

CVS_UPDATE
    (bool) “make update” で ports を更新するときに cvs(1) を用いる場合、設定します。

CXXFLAGS
    (str) C++ のコードをコンパイルするときのコンパイラの設定を制御します。 CXXFLAGS は最初は CFLAGS の値に設定されます。この CXXFLAGS の値に追加を行いたい場合は、 “=” ではなく “+=” を用いてください。

INSTALL
    (str) デフォルトのインストールコマンドです。 インストールを行う前に比較を行いたい場合は、次の例を用いてください。

        INSTALL="install -C"

LOCAL_DIRS
    (str) この変数には /usr/src で make を行うときに入るべきディレクトリをすべてリストします。

MTREE_FOLLOWS_SYMLINKS
    (str) mtree(8) にシンボリックリンクを追跡させたい場合は、 これを “-L” に設定します。

NO_DOCUPDATE
    (bool) “make update” で doc ツリーを更新させない場合これを設定します。

NO_PORTSUPDATE
    (bool) “make update” で ports ツリーを更新させない場合これを設定します。

SUP_UPDATE
    (bool) “make update” による ports の更新に cvsup(1) を使う場合これを設定します。

SUP (str) “make update” で用いられる cvsup(1) コマンドの置き場所です。

SUPFLAGS
    (str) “make update” を行うとき sup(1) に与えるフラグ。デフォルトは [-g -L 2] です。

SUPHOST
    (str) “make update” を行うときに用いる sup サーバのホスト名です。

SUPFILE
    (str) “make update” を行うとき、最初に用いる supfile です。デフォルトは /usr/share/examples/cvsup/standard-supfile です。

SUPFILE1
    (str) “make update” を行うとき、二番目に用いる supfile です。デフォルトは /usr/share/examples/cvsup/secure-supfile です。

SUPFILE2
    (str) “make update” を行うとき、三番目に用いる supfile です。デフォルトは /usr/share/examples/cvsup/secure-supfile です。

PORTSSUPFILE
    (str) “make update” を行うときの ports 用の supfile です。デフォルトは /usr/share/examples/cvsup/ports-supfile です。

DOCSUPFILE
    (str) “make update” を行うときのドキュメント用の supfile です。デフォルトは /usr/share/examples/cvsup/doc-supfile です。

WARNS_WERROR
    WARNS が有効な場合、 -Werror を CFLAGS へ追加させます。

次のリストは、カーネルのビルドで用いられる変数の名前と簡単な説明です。

BOOT_COMCONSOLE_PORT
    (str) ブートブロックが、 キーボード/ビデオカードの代わりに シリアルコンソールを用いるよう設定された場合に、 コンソールとして用いるポートアドレスです。

BOOT_COMCONSOLE_SPEED
    (int) ブートブロックが、 キーボード/ビデオカードの代わりに シリアルコンソールを用いるよう設定された場合に、 コンソールで用いるボーレートです。

BOOTWAIT
    (int) カーネルがデフォルトカーネルのブートを開始する前に、 コンソールのキーが押されるのを待つ時間を制御します。 値はだいたいミリ秒単位となります。 ディスクからブートする前のキー入力の認識は BIOS が行うので、 これが 0 に設定されていた場合でも、 ユーザの選択したブートパラメータを与えることは可能です。

COPTFLAGS
    (str) カーネルをコンパイルするときのコンパイラの設定を制御します。 [-O] を越えた最適化レベル ([-O2, ...]) は、動作が保証されていません。

KERNCONF
    (str) “${MAKE} buildkernel” によるビルドと “${MAKE} installkernel”. によるインストールとで、 どのカーネル設定を用いるかを制御します。例えば

        KERNCONF=MINE DEBUG GENERIC OTHERMACHINE

    とすると、 MINE, DEBUG, GENERIC, OTHERMACHINE といった各設定ファイルに対応するカーネルをビルドし、 MINE に対応するカーネルをインストールします。 デフォルトは GENERIC です。

NO_KERNELCONFIG
    (bool) “${MAKE} buildkernel” の際に config(8) を実行しない場合には、これを設定します。

NO_KERNELDEPEND
    (bool) “${MAKE} buildkernel” の際に “${MAKE} depend” を実行しない場合には、これを設定します。

NO_MODULES
    (bool) カーネルといっしょにモジュールをビルドしない場合に設定します。

MODULES_OVERRIDE
    (str) モジュールすべてではなく一部をビルドしたい場合、 モジュールリストをここに設定します。

次のリストは、world のビルドで用いられる変数の名前と簡単な説明です。

COMPAT1X
    (bool) FreeBSD 1 互換ライブラリをインストールする場合に設定します。

COMPAT20
    (bool) FreeBSD 2.0 互換ライブラリをインストールする場合に設定します。

COMPAT21
    (bool) FreeBSD 2.1 互換ライブラリをインストールする場合に設定します。

COMPAT22
    (bool) FreeBSD 2.2 互換ライブラリをインストールする場合に設定します。

COMPAT3X
    (bool) FreeBSD 3 互換ライブラリをインストールする場合に設定します。

COMPAT4X
    (bool) FreeBSD 4 互換ライブラリをインストールする場合に設定します。

ENABLE_SUIDPERL
    (bool) suid perl(1) バイナリのインストールを行う場合に設定します。

FETCH_CMD
    (str) ファイルの取得に用いるコマンドです。 通常は fetch(1) です。

MAKE_IDEA
    (bool) IDEA 暗号化コードをビルドする場合に設定します。 このコードは米国やヨーロッパの多くの国々で特許が取得されています。 合法的に IDEA を使えるかどうか決めるのは あなたの責任 です。

MAKE_KERBEROS4
    (bool) KerverosIV (KTH eBones) をビルドする場合に設定します。

MAKE_KERBEROS5
    (bool) Kerveros5 (KTH Heimdal) をビルドする場合に設定します。 注意! これはまだ実験的なコードです。 安定している Kerberos5 が必要ならば、 ports を用いてください。

ENABLE_SUID_K5SU
    (bool) k5su ユーティリティを使用したい場合に設定します。 設定しないと、本ユーティリティはセットユーザ ID ビットをセット されずにインストールされます。

MODULES_WITH_WORLD
    (bool) カーネルと同時にではなく、 システムと同時にモジュールをビルドする場合に設定します。

NO_CVS
    (bool) CVS をビルドしない場合に設定します。

NO_BIND
    (bool) BIND をビルドしない場合に設定します。

NO_FORTRAN
    (bool) g77(1) と関連ライブラリをビルドしない場合に設定します。

NO_I4B
    (bool) isdn4bsd パッケージをビルドしない場合に設定します。

NO_IPFILTER
    (bool) IP Filter パッケージをビルドしない場合に設定します。

NO_LPR
    (bool) lpr(1) と関連プログラムをビルドしない場合に設定します。

NO_MAILWRAPPER
    (bool) MTA セレクタである mailwrapper(8) をビルドしない場合に設定します。

NO_MAKEDEV
    (bool) インストールの際に /dev で “MAKEDEV all” を実行しない場合に設定します。

NO_OBJC
    (bool) Objective C のサポートをビルドしない場合に設定します。

NO_OPENSSH
    (bool) OpenSSH をビルドしない場合に設定します。

NO_OPENSSL
    (bool) OpenSSL をビルドしない場合に設定します (同時に NO_OPENSSH も設定されたことになります)。

NO_SENDMAIL
    (bool) sendmail(8) と関連プログラムをビルドしない場合に設定します。

NO_SHAREDOCS
    (bool) 4.4BSD の古い文書をビルドしない場合に設定します。

NO_TCSH
    (bool) /bin/csh (これは tcsh(1) です) をビルド・インストールしない場合に設定します。

NO_X
    (bool) X-Windows のサポート (例えば doscmd(1) など) をコンパイルしない場合に設定します。

NOCLEAN
    (bool) “make buildworld” の途中で clean を行わない場合に設定します。 何をやっているかわからない人は設定すべきではありません。

NOCLEANDIR
    (bool) “${MAKE} cleandir” の代わりに “${MAKE} clean” を実行する場合に設定します。

NOCRYPT
    (bool) crypto コードを一切ビルドしない場合に設定します。

NOGAMES
    (bool) ゲームをビルドしない場合に設定します。

NOINFO
    (bool) info(5) 各ファイルを作成・インストールしない場合に設定します。

NOLIBC_R
    (bool) libc_r (libc のリエントラント版) をビルドしない場合に設定します。

NOMANCOMPRESS
    (bool) man ページのインストールの際に圧縮を行わない場合に設定します。

NOPERL
    (bool) perl(1) をビルドしない場合に設定します。

NOPROFILE
    (bool) profile 版ライブラリをコンパイルしない場合に設定します。

NOSECURE
    (bool) secure サブディレクトリで crypto コードをビルドしない場合に設定します。

NOSHARE
    (bool) share サブディレクトリをビルドしない場合に設定します。

NOUUCP
    (bool) uucp(1) と関連プログラムをビルドしない場合に設定します。

PERL_THREADED
    (bool) perl(1) をスレッドサポート機能込みでビルド・インストールする場合に設定します。

PPP_NOSUID
    (bool) ppp(8) を suid root プログラムとしてはインストールしない場合に設定します。

SENDMAIL_MC
    (str) インストール時に用いるデフォルトの m4 設定ファイルです。 この値には .mc ファイルのフルパスを与えます。例えば /etc/mail/myconfig.mc です。 make install すると、既存の /etc/mail/sendmail.cf を上書きしてしまうので、注意して使ってください。 SENDMAIL_CF はもう推奨されなくなりました。 /etc/mail/sendmail.mc の値は使用しないでください。 buildworld によって /etc/mail/sendmail.cf が作成されるのは installworld によって更新された sendmail(8) バイナリがインストールされる前だからです。

SENDMAIL_SUBMIT_MC
    (str) インストール時に用いるメール提出用デフォルト m4 設定ファイルです。 この値には .mc ファイルのフルパスを与えます。例えば /etc/mail/mysubmit.mc です。 インストールによって既存の /etc/mail/submit.cf が上書きされてしまいますので、注意して使用してください。 /etc/mail/submit.mc の値は使用しないでください。 buildworld によって /etc/mail/submit.cf が作成されるのは installworld によって更新された sendmail(8) バイナリがインストールされる前だからです。

SENDMAIL_ADDITIONAL_MC
    (str) ビルド時に .cf ファイルに変換される追加分の .mc ファイル (複数指定可) です。 値には、これらの .mc ファイルへのフルパスを与えます。 例えば /etc/mail/foo.mc /etc/mail/bar.mc など。 /etc/mail/sendmail.mc の値は使用しないでください。 buildworld によって /etc/mail/sendmail.cf が作成されるのは installworld によって更新された sendmail(8) バイナリがインストールされる前だからです。

SENDMAIL_M4_FLAGS
    (str) .mc ファイルから .cf ファイルを作成するときに m4 に渡されるフラグ。

SENDMAIL_CFLAGS
    (str) sendmail(8) をビルドするときにコンパイルコマンドに渡すフラグです。 SENDMAIL_* 各フラグを用いれば、 SASL サポートをその設定と共に指定できます。 例えば次のようにします。

        SENDMAIL_CFLAGS=-I/usr/local/include -DSASL
        SENDMAIL_LDFLAGS=-L/usr/local/lib
        SENDMAIL_LDADD=-lsasl

SENDMAIL_LDFLAGS
    (str) sendmail(8) をビルドするときに ld(1) コマンドに渡すフラグです。

SENDMAIL_LDADD
    (str) sendmail(8) をビルドするときに ld(1) コマンドの末尾に追加するフラグです。

SENDMAIL_DPADD
    (str) sendmail(8) をビルドするときに追加する依存関係です。

SENDMAIL_SET_USER_ID
    (bool) 設定すると、 sendmail(8) をセットグループ ID ではなく root にセットユーザ ID したバイナリとしてインストールし、 /etc/mail/submit.{cf,mc} をインストールしません。 このフラグの使用は推奨できません。 可能であれば、 /etc/mail/README に書かれている代りの方法を採用すべきです。

SENDMAIL_MAP_PERMS
    (str) このモードのエイリアスおよびマップのデータベースファイルが、 /etc/mail/Makefile を使用して作成されます。 デフォルト値は 0640 です。

次のリストは、ドキュメントのビルドで用いられる変数の名前と簡単な説明です。

DISTDIR
    (str) distfiles が保存されている場所です。 通常これは PORTSDIR の distfiles です。

DOC_LANG
    (str) ビルド・インストール対象の言語とエンコーディングのリストです。

PRINTERDEVICE
    (str) システム文書のデフォルトのフォーマットです。 プリンタに依存します。 簡単なプリンタなら “ascii” に、PostScript プリンタや グラフィックスプリンタ + ghostscript フィルタなら “ps” に設定できます。

次のリストは、ports のビルドで用いられる変数の名前と簡単な説明です。

FORCE_PKG_REGISTER
    (bool) 既存の package (訳注: FreeBSD の package system におけるパッケージを指す場合にこう表記します) の登録情報を上書きする場合に設定します。

HAVE_MOTIF
    (bool) システムに Motif がある場合に設定します。

KRB5_HOME
    (str) MIT Kerberos5 の port を /usr/local 以外にインストールしたい場合に設定します。

LOCALBASE
    (str) X 以外の ports をインストールする際のベースディレクトリを与えます。 これは /usr/ports でビルドを行う際に PREFIX にデフォルト値として与えられます。

MASTER_SITE_AFTERSTEP
    (str) AfterStep の ports のマスタサイトを変更します。 パスの最後の部分は “/%SUBDIR%/” でなければなりません。

MASTER_SITE_BACKUP
    (str) Makefile にリストされている場所が使えない場合、 ports が distfile をチェックしに行く場所を制御します。 パスの最後の部分は “/${DIST_SUBDIR}/” でなければなりません。

MASTER_SITE_COMP_SOURCES
    (str) comp.sources ports のマスタサイトの場所を制御します。 パスの最後の部分は “%SUBDIR%/” でなければなりません。

MASTER_SITE_GNOME
    (str) GNOME ports のマスタサイトの場所を制御します。 パスの最後の部分は “%SUBDIR%/” でなければなりません。

MASTER_SITE_GNU
    (str) GNU ports のマスタサイトの場所を制御します。 パスの最後の部分は “%SUBDIR%/” でなければなりません。

MASTER_SITE_KDE
    (str) KDE ports のマスタサイトの場所を制御します。 パスの最後の部分は “%SUBDIR%/” でなければなりません。

MASTER_SITE_FREEBSD
    (bool) 設定されていると、すべてのファイルをマスタの FreeBSD サイトから取得します。

MASTER_SITE_MOZILLA
    (str) Mozilla ports のマスタサイトの場所を制御します。 パスの最後の部分は “%SUBDIR%/” でなければなりません。

MASTER_SITE_OVERRIDE
    (str) 設定されていると、ports の Makefile にリストされているサイトよりも先に、このサイトをチェックしに行きます。 次のようにすればバックアップサイトを先にチェックさせることができます。

        MASTER_SITE_OVERRIDE?=	${MASTER_SITE_BACKUP}

MASTER_SITE_PERL_CPAN
    (str) Perl ports のマスタサイトの場所を制御します。 パスの最後の部分は “/%SUBDIR%/” でなければなりません。

MASTER_SORT_REGEX
    (str) ミラーセットのソート順を制御する場合に設定します。 .jp ドメインのミラーを優先的に用いたければ、以下のような設定をします。

        MASTER_SORT_REGEX?=	^file: ^ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/local-distfiles/ ://[^/]*.jp/ ://[^/]*.jp.

    他の国別 TLD ドメインのユーザは、 “jp” を適切なドメインに変更してください。

MASTER_SITE_RINGSERVER
    (str) Ringserver ports のマスタサイトの場所を制御します。 パスの最後の部分は “/%SUBDIR%/” でなければなりません。

MASTER_SITE_RUBY
    (str) Ruby ports のマスタサイトの場所を制御します。 パスの最後の部分は “/%SUBDIR%/” でなければなりません。

MASTER_SITE_SUNSITE
    (str) Sunsite ports のマスタサイトの場所を制御します。 パスの最後の部分は “/%SUBDIR%/” でなければなりません。

MASTER_SITE_TCLTK
    (str) Tcl/Tk ports のマスタサイトの場所を制御します。 パスの最後の部分は “/%SUBDIR%/” でなければなりません。

MASTER_SITE_TEX_CTAN
    (str) TeX ports のマスタサイトの場所を制御します。 パスの最後の部分は “/%SUBDIR%/” でなければなりません。

MASTER_SITE_WINDOWMAKER
    (str) WindowMaker ports のマスタサイトの場所を制御します。 パスの最後の部分は “/%SUBDIR%/” でなければなりません。

MASTER_SITE_XCONTRIB
    (str) X contrib の ports のマスタサイトの場所を制御します。 パスの最後の部分は “/%SUBDIR%/” でなければなりません。

MASTER_SITE_XEMACS
    (str) Xemacs ports のマスタサイトの場所を制御します。 パスの最後の部分は “/%SUBDIR%/” でなければなりません。

MASTER_SITE_XFREE
    (str) XFree ports のマスタサイトの場所を制御します。 パスの最後の部分は “/%SUBDIR%/” でなければなりません。

MOTIFLIB
    (str) libXm.a と libXm.so の場所です。

MOTIF_STATIC
    (bool) Motif を用いる ports を、Motif の共有ライブラリを持たない システム上でも実行させたい場合に設定します。

NOCLEANDEPENDS
    (bool) “make clean” によって clean される他の ports から依存されている ports を clean したくない場合に設定します。

NOPORTDOCS
    (bool) ports と同時に追加ドキュメントをインストールしない場合に設定します。

PACKAGES
    (str) package ターゲットのみに用いられます。 package ツリーのディレクトリです。

PATCH_SITES
    (str) パッチファイルの配布をしている一次サイトの場所です。

PORTSDIR
    (str) ports ツリーの場所です。

USA_RESIDENT
    (bool) 米国居住者は設定してください。 設定すると、米国輸出規制に従う必要がある ports が、 この規制に従うようになります。

WITHOUT_X11
    (bool) 設定すると、X11 サポート有り無しの両方で構築可能な ports を、 デフォルトで X11 サポート無しで構築するようにします。

WRKDIRPREFIX
    (str) ports をビルドする際に用いる一時ファイルを作成する場所です。

X11BASE
    (str) X11 ディストリビューションを /usr/X11R6 以外の場所にインストールしたい場合、その場所を設定します。

関連ファイル
/etc/defaults/make.conf
/etc/make.conf
/usr/doc/Makefile
/usr/src/Makefile
/usr/src/Makefile.inc1
/usr/ports/Mk/bsd.port.mk
/usr/ports/Mk/bsd.sites.mk

関連項目
gcc(1), install(1), make(1), ports(7), lpd(8), sendmail(8)

歴史
make.conf ファイルは FreeBSD 4.0 以前のいつかに登場しました。

作者
このマニュアルページは Mike W. Meyer <mwm@mired.org> が書きました。

バグ
このマニュアルページは現在の make.conf で利用できるオプションに比べると、 古くなることが時々あるかもしれません。 現在利用できる最新のオプションについては、 /etc/defaults/make.conf ファイルを調べてください。