EN JA
MAKE.CONF(5)
MAKE.CONF(5) FreeBSD File Formats Manual MAKE.CONF(5)

名称

make.confシステム構築情報

解説

ファイル make.conf は、 make(1) と標準の sys.mk ファイルを使用してあらゆる構築に適用されるシステム全体の設定を含んでいます。これは、次のようにして達成されます: make(1) は、デフォルトで他のファイルの前に、システムの makefile sys.mk を処理し、 sys.mk は、 make.conf をインクルードします。

ファイル make.conf は、標準の makefile 構文を使用します。しかしながら、 make.conf は、 make(1) のための依存関係を指定するべきではありません。代わりに、 make.conf は、他の makefile の動作を制御する make(1) 変数を設定します。

make(1) の変数 __MAKE_CONF で代わりの位置を指定することができますが、 make.conf のデフォルト位置は、 /etc/make.conf です。システム全体の設定が特定の構築に適していないなら、利用者は、 make.conf の位置を無効にする必要があります。例えば、 __MAKE_CONF/dev/null に設定することは、すべての構築の制御をデフォルトにリセットします。

make.conf の主要な目的は、通常、 /usr/src, /usr/doc/usr/ports にある FreeBSD ソース、文書 (ドキュメント)、と移植されたアプリケーションのコンパイルを制御することです。一般に、特定の制御変数の値をデフォルトから変更する必要があるとき、システム管理者は、 make.conf を作成します。

システム構築の手続きは、4 つの幅広い領域で生じます: world (訳注: FreeBSD の全構築)、カーネル、文書と ports です。 make.conf に設定された変数は、これらの領域の 1 つ、2 つ、または 4 つすべてに適用されます。さらに、制御変数は、 make(1)-D オプション、または、 environ(7) (環境変数) によって特定の構築のために指定することができます。

次のリストは、利用者が指示する構築で使用することができる各変数の名前と短い説明を行っています。 ブール値 (bool) として表示された変数の値は、無視されます。とにかく変数を (たとえ“ FALSE”または“ NO”でも) 設定することによって、あたかも変数が設定されているかのように取り扱われます。

次のリストは、すべての構築に使用されるか、または構築以外の makefiles によって使用される変数の名前と短い説明を行っています。

ALWAYS_CHECK_MAKE
( ブール値) 常に make(1) が最新であるかどうかチェックするように、ソースツリー (通常 /usr/src) のトップレベルの makefile に指示します。通常これは、 FreeBSD の古いバージョンからアップグレードを取り扱うために、world と buildworld ターゲットのためにのみ行われます。
CFLAGS
( 文字列) C のコードをコンパイルするとき、コンパイラの設定を制御します。 -O-O2 以外の最適化レベルは、サポートされません。 BDECFLAGS は、開発と変更のテストのために Bruce Evans <bde@FreeBSD.org>によって提案されている一連の cc(1) の設定として提供されます。次のように設定されるなら、それらを使用することができます:

CFLAGS+=${BDECFLAGS}
CPUTYPE
( 文字列) 生成されたコードを対象とするべきプロセッサを制御します。 cc(1) への適切な最適化指示を含むように CFLAGSCOPTFLAGS の値を変更することと同様に、特定のコード (現在の OpenSSL のみ) でプロセッサ特有の最適化を制御します。 CFLAGSCOPTFLAGS の自動設定は、それぞれ NO_CPU_CFLAGSNO_CPU_COPTFLAGS 変数を使用して上書きすることができます。認識される CPUTYPE オプションのリストについては /usr/share/examples/etc/make.conf を参照してください。
CXXFLAGS
( 文字列) C++ コードをコンパイルするとき、コンパイラの設定を制御します。 CXXFLAGS は、最初に CFLAGS の値に設定されます。 CXXFLAGS 値に追加したいなら、“ =”の代わりに“ +=”を使用します。
INSTALL
( 文字列) デフォルトのインストールコマンドです。ターゲットが異なるか、または存在しないファイルだけをインストールするためには、次を使用します。

INSTALL+= -C

( /usr/share/mk にそれらを含んでいる) いくつかの makefile は、供給されたインストールコマンドのための決め打ちされたオプションであることに注意してください。

LOCAL_DIRS
( 文字列) この変数には、 /usr/src で make するとき入るべきであるすべてのディレクトリをリストします。
MAKE_SHELL
( 文字列) makefile でコマンドスクリプトを処理するために make(1) によって内部的に使用されるシェルを制御します。 sh(1), ksh(1)csh(1) すべてが現在サポートされています。

MAKE_SHELL?=sh
MTREE_FOLLOWS_SYMLINKS
( 文字列) mtree(8) がシンボリックリンクをたどるようにするために、これを“ -L”に設定します。
NO_CPU_CFLAGS
( 文字列) この変数を設定することは、コンパイル時に CPU 特有のコンパイラフラグが自動的に CFLAGS に追加されることを防ぎます。
NO_CPU_COPTFLAGS
( 文字列) この変数を設定することは、コンパイル時に CPU 特有のコンパイラフラグが自動的に COPTFLAGS に追加されることを防ぎます。
NO_DOCUPDATE
( ブール値) これは、“ make update”で doc ツリーを更新しないようにするために、これを設定します。
NO_PORTSUPDATE
( ブール値) これは、“ make update”で ports ツリーを更新しないようにするために、これを設定します。
SVN_UPDATE
( ブール値) “ make update”で利用者の src ツリーを更新するために、 svn(1) を使用するように、これを設定します。サブバージョンのクライアントが基本システムに含まれていないので、利用者は、 SVNsvn(1) バイナリの完全なパスに設定する必要があることに注意してください。

カーネルの構築

次のリストは、カーネルの構築でのみ使用される変数の名前と簡単な説明です:
BOOTWAIT
( 整数) デフォルトのカーネルをブートする前に、カーネルがコンソールのキーが押されるのを待つ時間を制御します。値は、おおよそのミリ秒です。キー入力は、ディスクからのブートの前に BIOS で受け付けられ、これが 0 に設定されているときでも、カスタムブートパラメータを与えることは可能です。
COPTFLAGS
( 文字列) カーネルを構築するとき、コンパイラの設定を制御します。[ -O ( -O2, ...)]を超える最適化レベルは、動作が保証されていません。
KERNCONF
( 文字列) “ ${MAKE} buildkernel”によって構築され、るられるかを制御し“ ${MAKE} installkernel”によってインストールされるカーネル設定を制御します。例えば、

KERNCONF=MINE DEBUG GENERIC OTHERMACHINE

は、設定ファイル MINE, DEBUG, GENERICOTHERMACHINE によって指定されたカーネルを構築し、設定ファイル MINE によって指定されたカーネルをインストールします。そのデフォルトは、 GENERIC です。

MODULES_OVERRIDE
( 文字列) モジュールすべてではなく構築するモジュールのリストを設定します。
NO_KERNELCLEAN
( ブール値) “ ${MAKE} buildkernel”の間に“ ${MAKE} clean”の実行をスキップするように、これを設定します。
NO_KERNELCONFIG
( ブール値) “ ${MAKE} buildkernel”に間に config(8) の実行をスキップするように、これを設定します。
NO_KERNELDEPEND
( ブール値) “ ${MAKE} buildkernel”に間に“ ${MAKE} depend”の実行をスキップするように、これを設定します。
NO_KERNELOBJ
( ブール値) “ ${MAKE} buildkernel”に間に“ ${MAKE} obj”の実行をスキップするように、これを設定します。
NO_MODULES
( ブール値) カーネルとともにモジュールを構築しないように設定します。
PORTS_MODULES
毎回カーネルを構築するたびに利用者が再構築したい ports のリストをこれに設定します。
WITHOUT_MODULES
( 文字列) 構築から除くモジュールのリストを設定します。これは、 MODULES_OVERRIDE を指定する必要がなく、確実にモジュールを除くためのいくらか簡単な方法を提供します。これは、 MODULES_OVERRIDE後に 適用されます。

WORLD の構築

次のリストは、world の構築の間に使用される変数のため名前と短い説明を行っています:
BOOT_COMCONSOLE_PORT
( str) ブートブロックがキーボード/ビデオカードの代わりにシリアルコンソールを使用するように設定されているなら、コンソールに使用されるポートアドレスです。
BOOT_COMCONSOLE_SPEED
( 整数) ブートブロックがキーボード/ビデオカードの代わりにシリアルコンソールを使用するように設定されているなら、コンソールに使用されるボーレートです。
BOOT_PXELDR_ALWAYS_SERIAL
( ブール値) シリアルコンソールの使用を強制するコードを pxeboot(8) にコンパイルします。これは、 boot(8) ブロックの -h オプションに類似しています。
BOOT_PXELDR_PROBE_KEYBOARD
( ブール値) キーボードをプローブ (探査) するコードを pxeboot(8) にコンパイルします。キーボードが見つけられないなら、デュアルコンソール設定としてブートします。これは、 boot(8) ブロックの -D オプションに類似しています。
ENABLE_SUID_K5SU
( ブール値) ksu ユーティリティを使用したいなら、これを設定します。そうでなければ、セットユーザ ID (set-user-ID) ビットを設定せずにインストールされます。
ENABLE_SUID_NEWGRP
( ブール値) セットユーザ ID (set-user-ID) ビットを設定して newgrp(1) をインストールするように、これを設定します。そうでなければ、 newgrp(1) は、ユーザのグループを変更することができません。
LOADER_TFTP_SUPPORT
( ブール値) デフォルトで、 pxeboot(8) ローダは、NFS を通してカーネルを検索して取得します。これを定義して、 /usr/src/sys/boot を再コンパイルすることによって、それは、TFTP を通してカーネルを検索して取得します。これによって、サーバのカーネルをロードするよりむしろ依然としてサーバの / をマウントし、 pxeboot(8) は、カスタム BOOTP ディスクレスカーネルをロードできます。
LOADER_FIREWIRE_SUPPORT
( ブール値) これを定義して、 /usr/src/sys/boot/i386 を再コンパイルすることは、 dcons(4) コンソールドライバを loader(8) に追加し、 dconschat(8) を使用して FireWire (IEEE1394) 上でアクセス可能となります。現在、i386 と amd64 だけがサポートされています。
MALLOC_PRODUCTION
( ブール値) malloc(3) でアサーションと統計収集を無効にするように、これを設定します。また、それは、デフォルトの A と J の実行時オプションをオフにします。 -CURRENT では、デフォルトで無効にされます。
MODULES_WITH_WORLD
( ブール値) カーネルの代わりにシステムでモジュールを構築するように設定します。
NO_CLEAN
( ブール値) “ make buildworld”の間に clean を無効にするように、これを設定します。何をやっているかわからないなら設定すべきではありません。
NO_CLEANDIR
( ブール値) “ ${MAKE} cleandir”の代わりに“ ${MAKE} clean”を実行するように、これを設定します。
NO_MANCOMPRESS
( ブール値) 圧縮されていないマニュアルページをインストールするように、これを設定します。
NO_SHARE
( ブール値) share サブディレクトリを構築しないように設定します。
NO_SHARED
( ブール値) 静的にリンクされた /bin/sbin を構築するように設定します。これは、悪いことになります。設定されるなら、 bsd.prog.mk を使用するあらゆるユーティリティは、静的にリンクされます。
PPP_NO_NAT
( ブール値) ネットワークアドレス変換 (NAT) のサポートなしで ppp(8) を構築します。
PPP_NO_NETGRAPH
( ブール値) Netgraph のサポートなしで ppp(8) を構築するように設定します。
PPP_NO_RADIUS
( ブール値) RADIUS のサポートなしで ppp(8) を構築するように設定します。
PPP_NO_SUID
( ブール値) セットユーザ ID (set-user-ID) の root プログラムとして ppp(8) のインストールを無効に設定します。
SENDMAIL_ADDITIONAL_MC
( 文字列) 構築時に .cf ファイルに構築されるべきである追加の .mc ファイル。値は、(複数の) .mc ファイル、例えば、 /etc/mail/foo.mc, /etc/mail/bar.mc へのフルパスを含むべきです。
SENDMAIL_ALIASES
( 文字列) /etc/mail/Makefile を使用するとき、再構築するための aliases(5) ファイルのリスト。デフォルト値は、 /etc/mail/aliases です。
SENDMAIL_CFLAGS
( 文字列) sendmail(8) を構築するときにコンパイルコマンドへ渡すフラグ。 SENDMAIL_* フラグは、次のような設定で SASL サポートを提供するために使用できます:

SENDMAIL_CFLAGS=-I/usr/local/include -DSASL 
SENDMAIL_LDFLAGS=-L/usr/local/lib 
SENDMAIL_LDADD=-lsasl
SENDMAIL_CF_DIR
( 文字列) .mc ファイルから .cf ファイルを構築するために使用される m4(1) 設定ファイルのためのデフォルト位置を変更します。
SENDMAIL_DPADD
( 文字列) sendmail(8) を構築するときに追加する特別の依存関係。
SENDMAIL_LDADD
( 文字列) sendmail(8) を構築するときに ld(1) コマンドの終りに追加するフラグ。
SENDMAIL_LDFLAGS
( 文字列) sendmail(8) を構築するときに ld(1) コマンドへ渡されるフラグ。
SENDMAIL_M4_FLAGS
( 文字列) .mc ファイルから .cf ファイルを構築するときに m4(1) へ渡されるフラグ。
SENDMAIL_MAP_PERMS
( 文字列) /etc/mail/Makefile を使用してエイリアスとマップデータベースを生成するときに使用するモード。デフォルト値は、0640 です。
SENDMAIL_MAP_SRC
( 文字列) /etc/mail/Makefile を使用するとき、再構築する追加マップ。 access, bitdomain, domaintable, genericstable, mailertable, uucpdomainvirtusertable マップは、存在しているなら、常に再構築されます。
SENDMAIL_MAP_TYPE
( 文字列) /etc/mail/Makefile を使用してマップデータベースを生成するとき、使用するデータベースマップタイプ。デフォルト値は、ハッシュです。代替は、btree です。
SENDMAIL_MC
( 文字列) インストール時に使用するデフォルトの m4(1) 設定ファイルです。値は、 .mc ファイル、例えば、 /etc/mail/myconfig.mc、へのフルパスを含むべきです。 make install を行うと、既存の /etc/mail/sendmail.cf を上書きすることに注意して使用してください。 SENDMAIL_CF は、現在推奨されないことに注意してください。
SENDMAIL_SET_USER_ID
( ブール値) 設定されるなら、セットグループ ID (set-user-ID) のバイナリの代わりにセットユーザ ID (set-user-ID) の root のバイナリとして sendmail(8) をインストールし、 /etc/mail/submit.{cf,mc} をインストールしません。このフラグの使用は、推薦されません、そして、可能なら、 /etc/mail/README の代わりの助言に従うべきです。
SENDMAIL_START_SCRIPT
( 文字列) sendmail(8) を開始し、停止し、再開するために /etc/mail/Makefile によって使用されるスクリプト。デフォルト値は、 /etc/rc.sendmail です。この値は、 rc.conf(5) の“ mta_start_script”設定に適合するべきです。
SENDMAIL_SUBMIT_MC
( 文字列) インストール時に使用するメール提出のためのデフォルトの m4(1) 設定ファイル。値は、 .mc ファイル、例えば、 /etc/mail/mysubmit.mc、へのフルパスを含むべきです。 make install を行うと、既存の /etc/mail/submit.cf を上書きすることに注意して使用してください。
TOP_TABLE_SIZE
( 整数) top(1) は、ユーザ名のためにハッシュテーブルを使用します。このハッシュのサイズは、ローカルユーザの数に合うように調整できます。テーブルのサイズは、 /etc/passwd の行数のおよそ 2 倍の素数であるべきです。デフォルト数は、20011 です。
WANT_FORCE_OPTIMIZATION_DOWNGRADE
( 整数) システムのコンパイラは、高い最適化レベルを強制的に低くするように構築します。 cc(1) -O2 以上の最適化は、いろいろな時にオプティマイザのバグの引き金となることが知られています。割り当てられた値は、使用される最も高い最適化の値です。

文書の構築

次のリストは、文書を構築するとき使用される変数のための名前と短い説明を行っています。
DISTDIR
( 文字列) distfiles が保存されている場所。通常これは、 PORTSDIRdistfiles です。
DOC_LANG
( 文字列) 構築してインストールする言語とエンコーディングのリスト。
PRINTERDEVICE
( 文字列) システム文書のデフォルトの形式 (フォーマット) で、利用者のプリンタに依存します。簡単なプリンタのためには、“ ascii”に設定でき、postscript または ghostscript フィルタ付きのグラフィックスプリンタのため、または両方のためには、“ ps”に設定できます。

関連ファイル

/etc/make.conf
/usr/doc/Makefile
/usr/ports/Makefile
/usr/share/examples/etc/make.conf
/usr/share/mk/sys.mk
/usr/src/Makefile
/usr/src/Makefile.inc1

歴史

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

作者

このマニュアルページは、 Mike W. Meyer <mwm@mired.org>によって書かれました。

警告

MAKEOBJDIRPREFIXMAKEOBJDIR は、環境変数であり、 make.conf で設定されるべきではありませんが、make の環境で設定されなければならないことに注意してください。

バグ

このマニュアルページは、現在 make.conf で利用可能なオプションに関して時々古くなっているかもしれません。利用可能な最新のオプションについては、 /usr/share/examples/etc/make.conf ファイルをチェックしてください。
May 28, 2013 FreeBSD