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) で用いられる変数の名前と簡単な説明です。

ALWAYS_CHECK_MAKE
    (bool) ソースツリー (通常は /usr/src) のトップレベル makefile に対し、 make(1) が最新であるか常に確認するよう指示します。 通常これは、古いバージョンの FreeBSD からのアップグレードを扱えるようにするために、 world および buildworld ターゲットに対してのみ実行されます。

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

        CFLAGS+=${BDECFLAGS}

CPUTYPE
    (str) 生成コードが対象とするプロセッサを制御します。 特別なコード (現在のところ OpenSSL のみ) に対する プロセッサ固有の最適化を制御し、 CFLAGS および COPTFLAGS の値を変更して gcc(1) への適切な最適化ディレクティブを含むようにします。 CFLAGS および COPTFLAGS の自動設定は、それぞれ NO_CPU_CFLAGS および NO_CPU_COPTFLAGS で上書きできます。 認識される CPUTYPE オプションについては、 /usr/share/examples/etc/make.conf を参照してください。

NO_CPU_CFLAGS
    (str) この変数を設定すると、コンパイル時に自動的に CPU 固有コンパイラフラグが CFLAGS へ追加されることを妨げます。

NO_CPU_COPTFLAGS
    (str) この変数を設定すると、コンパイル時に自動的に CPU 固有コンパイラフラグが COPTFLAGS へ追加されることを妨げます。

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

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

INSTALL
    (str) デフォルトのインストールコマンドです。 ターゲットと異なるか存在しないファイルのみをインストールする場合、 次の例を用いてください。

        INSTALL="install -C"

    (/usr/share/mk にあるものを含めて) makefile によっては、 与えられたインストールコマンドに対して 固定のオプションを与えてしまうものがあることに注意してください。

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

MAKE_SHELL
    (str) make(1) が makefile 中のコマンドスクリプトを処理するために 内部的に使用するシェルを制御します。 sh(1), ksh(1), csh(1) すべてがサポートされています。

        MAKE_SHELL?=sh

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 です。

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

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 です。

LOADER_TFTP_SUPPORT
    (bool) buildkernel が影響するオプションではありませんが、他に良い場所がありません。 デフォルトでは pxeboot(8) ローダがカーネルを NFS 経由で取得します。 これを定義して /usr/src/sys/boot を再コンパイルすると、カーネルを TFTP 経由で取得するようになります。 これにより、 pxeboot(8) がカスタム BOOTP ディスクレスカーネルをロードし、サーバの / をマウントしますが、サーバのカーネルはロードしません。

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

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

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

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

次のリストは、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 互換ライブラリをインストールする場合に設定します。

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

NO_DYNAMICROOT
    (bool) /bin と /sbin を動的にリンクしたくない場合に設定します。

NO_KERBEROS
    (bool) Kerberos 5 (KTH Heimdal) をビルドしたくない場合に設定します。

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

ENABLE_SUID_NEWGRP
    (bool) ユーザ ID 設定ビットを設定して newgrp(1) をインストールする場合に、これを設定します。 設定しないと、 newgrp(1) はユーザのグループを変更できません。

ENABLE_SUID_SSH
    (bool) ssh(1) をセットユーザ ID ビットをオンにしてインストールする場合に、これを設定します。

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

NO_BLUETOOTH
    (bool) Bluetooth 関連のカーネルモジュール、プログラム、ライブラリを ビルドしない場合に設定します。

NO_BOOT
    (bool) ブートブロックとローダをビルドしない場合に設定します。

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

NO_CXX
    (bool) g++(1) および関連ライブラリをビルドしない場合に設定します。

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

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

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

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

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

NO_PF
    (bool) PF ファイアウォールパッケージをビルドしない場合に設定します。

NO_AUTHPF
    (bool) authpf(8) をビルドしない場合に設定します。

NO_TOOLCHAIN
    (bool) プログラム開発に使用するプログラム、 すなわちコンパイラやデバッガ等をビルドしない場合に設定します。

NOINET6
    (bool) IPv6 ネットワークに関連するプログラムやライブラリを ビルドしない場合に設定します。

NOATM
    (bool) ATM ネットワークに関連するプログラムやライブラリを ビルドしない場合に設定します。

NO_USB
    (bool) usbd(8) および関連プログラムをビルドしない場合に設定します。

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

NO_ACPI
    (bool) acpiconf(8), acpidump(8) および関連プログラムをビルドしない場合に設定します。

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

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

NOMAN
    マニュアルページをビルドしない場合に設定します。 (bool)

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

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

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

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

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

NO_TCSH
    (bool) /bin/csh (これは tcsh(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 のリエントラント版) をビルドしない場合に設定します。

NOLIBPTHREAD
    (bool) libpthread (M:N スレッド) ライブラリをビルドしない場合に設定します。

NOLIBTHR
    (bool) libthr (1:1 スレッド) ライブラリをビルドしない場合に設定します。

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

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

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

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

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

SENDMAIL_SUBMIT_MC
    (str) インストール時に用いるメール提出用デフォルト m4(1) 設定ファイルです。 この値には .mc ファイルのフルパスを与えます。 例えば /etc/mail/mysubmit.mc です。 インストールによって既存の /etc/mail/submit.cf が上書きされてしまいますので、注意して使用してください。

SENDMAIL_ADDITIONAL_MC
    (str) ビルド時に .cf ファイルに変換される追加分の .mc ファイル (複数指定可) です。 値には、これらの .mc ファイルへのフルパスを与えます。 例えば /etc/mail/foo.mc /etc/mail/bar.mc など。

SENDMAIL_CF_DIR
    (str) .mc ファイルから .cf ファイルをビルドするために使用する m4(1) 設定ファイルのデフォルトの場所を オーバライドします。

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

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 です。

TOP_TABLE_SIZE
    (int) top(1) は、ユーザ名用にハッシュ表を使用します。 ハッシュの大きさはローカルユーザ数に合うように調整可能です。 テーブルの大きさは、 /etc/passwd の行数の約 2 倍の素数であるべきです。 デフォルト数は 20011 です。

WANT_FORCE_OPTIMIZATION_DOWNGRADE
    (int) 高い最適化レベルを強制的に低くするように、システムのコンパイラをビルドします。 gcc(1) -O2 以上の高い最適化レベルは、しばしば既知の最適化バグを引き起こすことが 知られています — Alpha プラットフォームでは、さらにひどいです。 ここで割り当てられた値が、最も高い最適化レベルの値として使用されます。

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

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

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

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

関連ファイル
/etc/make.conf
/usr/doc/Makefile
/usr/share/examples/etc/make.conf
/usr/src/Makefile
/usr/src/Makefile.inc1

関連項目
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 で利用できるオプションに比べると、古くなることが時々あるかもしれません。 現在利用できる最新のオプションについては、 /usr/share/examples/etc/make.conf ファイルを調べてください。

警告
MAKEOBJDIRPREFIX と MAKEOBJDIR は環境変数であり、 make.conf 中ではなく、make の環境の中に設定すべきであることに注意してください。