dmake は、実行を開始すると、実行時構成ファイルを検索して、ジョブを分散する場所を調べます。
一般に、このファイルは dmakerc という名前で、dmake ホスト上のユーザーのホームディレクトリにあります。
dmake は、次の場所と順序で実行時構成ファイルを検索します。
-c オプションを使ってコマンド行で指定されたパス名
DMAKE_RCFILE というメイクファイルのマクロを使って指定されたパス名
環境変数 DMAKE_RCFILE を使って指定されたパス名
$(HOME)/.dmakerc
実行時構成ファイルが見つからない場合は、dmake は並行モードに切り替え、(デフォルトの) 2 つのジョブを dmake ホストに分散します。-j オプションまたは DMAKE_MAX_JOBS を使用してこの設定を変更することもできます。
実行時構成ファイルには、構築サーバーのリストと、各構築サーバーに分散したいジョブ数を含めることができます。
次は、単純な実行時構成ファイルの例です。
# 自分のマシン。このエントリにより dmake はこのマシンにジョブを分散します。 falcon { jobs = 1 } hawk eagle { jobs = 3 } # マネージャーのマシン。マネージャーはいつも会議中です heron { jobs = 4 } avocet |
falcon、hawk、eagle、heron、avocet の各エントリが構築サーバーとして一覧表示されています。
各構築サーバーに分散したいジョブ数を指定することができます。デフォルトのジョブ数は 2 です。
"#" 文字で始まる行はコメントとして解釈されます。
この構築サーバーの一覧には、 dmake ホストでもある falcon が含まれています。dmake ホストは構築サーバーとしても指定することができます。実行時構成ファイルに falcon を含めない場合、falcon には dmake ジョブが分散されません。
実行時構成ファイルには、構築サーバーのグループも構成することができます。
こうすると、状況に応じて、構築サーバーのグループを簡単に切り替えられるという柔軟性が得られます。たとえば、異なるオペレーティングシステムでの構築用に別々の構築サーバーのグループを定義したり、特殊なソフトウェアがインストールされている構築サーバーのグループを定義したりすることができます。ただし、構築サーバーは、すべて同じアーキテクチャーで、同じ SunOS をインストールしている必要があります。
次の実行時構成ファイルには、いくつかのグループが含まれています。
earth { jobs = 2 } mars { jobs = 3 } group lab1 { host falcon { jobs = 3 } host hawk host eagle { jobs = 3 } } group lab2 { host heron host avocet { jobs = 3 } host stilt { jobs = 2 } group labs { group lab1 group lab2 } group sunos5.x { group labs host jupiter host venus { jobs = 2 } host pluto { jobs = 3 } } |