Oracle® Solaris Studio 12.4: 分散メイク (dmake)

印刷ビューの終了

更新: 2014 年 10 月
 
 

dmake ホスト

dmake は実行を開始すると、ジョブの分散先を知るために、実行時構成ファイルを検索します。

このファイルは通常、dmake ホストのホームディレクトリにあり、.dmakerc という名前が付いています。

dmake は次の場所の実行時構成ファイルを次の順序で検索します。

  1. コマンド行で -c オプションを使用して指定したパス名

  2. DMAKE_RCFILE メイクファイルマクロを使用して指定したパス名

  3. DMAKE_RCFILE 環境変数を使用して指定したパス名

  4. $(HOME)/.dmakerc

実行時構成ファイルが見つからない場合、dmake は並列モードに切り替わり、dmake ホストに 2 つのジョブ (デフォルト) を分散します。これは、-j オプションか、DMAKE_MAX_JOBS を使用して変更できます。

実行時構成ファイルには、構築サーバーのリストと、各構築サーバーに分散するジョブの数を含めることができます。

次は、単純な実行時構成ファイルのサンプルです。

# My machine. This entry causes dmake to distribute to it
falcon { jobs = 1 }
hawk
eagle { jobs = 3 }
# Manager's machine. She's usually at meetings
heron { jobs = 4 }
avocet

エントリ falconhawkeagleheron、および avocet は、構築サーバーとしてリストされています。

各構築サーバーに分散するジョブの数を指定できます。ジョブのデフォルト数は 2 です。

"#" 文字で始まる任意の行は、コメントとして解釈されます。


注 - この構築サーバーの一覧には、dmake ホストでもある falcon が含まれています。dmake ホストは構築サーバーとして指定することもできます。これを実行時構成ファイルに含めない場合、dmake ジョブはこれに対して分散されません。

また、実行時構成ファイル内に構築サーバーのグループを構築することもできます。これは、状況に応じて、構築サーバーの異なるグループを容易に切り替える柔軟性を提供します。たとえば、異なるオペレーティングシステムでのビルド用に異なる構築サーバーのグループを定義したり、特殊なソフトウェアがインストールされている構築サーバーのグループを定義したりできます。構築サーバーはすべて同じアーキテクチャーで、同じ OS がインストールされている必要があります。

次の実行時構成ファイルにはグループが含まれています。

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 }
}