TeamWare では、一度に 1 つの構築ジョブを実行することも、同時に複数の構築ジョブを実行することもできます。この章では、1 つのアプリケーションを短時間で構築する方法、構築のカスタマイズ方法、および「構築」ウィンドウとエディタを使用して構築エラーを修正する方法について説明します。
この章は、以下の節で構成されています。
TeamWare でプログラムを構築するときには、TeamWare ターゲットを構築しています。TeamWare ターゲットは、次の要素で構成されています。
構築ディレクトリ - 構築プロセスはこのディレクトリから起動されます。メークファイルが置かれるデフォルトのディレクトリでもあります。
構築コマンド - make ユーティリティを起動するコマンドです。メークファイルを読み込み、make ターゲットを構築します。
メークファイル - make ターゲットに依存ファイル (依存関係) の最新の状態を反映させる方法を示す各種項目が含まれています。各依存ファイル自体も make ターゲットであり、依存ファイルにさらに依存ファイルが存在する場合があります。make コマンドは、make ターゲットを再構築するかどうかを判断する際に、ターゲットとファイルの依存性および副依存性によって形成されるツリー構造を追跡します。
make ターゲット - make コマンドが特定のメークファイルに記述されている指示 (規則) に基づいて自動的に構築するオブジェクトです。たとえば、make ターゲットを構築すれば、それ以上は何も処理が必要でない場合もあります。通常、メークファイルは、最も一般的な構築ターゲットがデフォルトのターゲット (ターゲットを指定しない場合のターゲット) となるよう設計されます。
構築された TeamWare ターゲットは、「構築」⇒「ターゲットを編集」コマンドの TeamWare ターゲットリストに追加されます。構築を開始すると、TeamWare ターゲットリストの先頭にあるターゲットが構築されます。
make ユーティリティ、メークファイル、make ターゲットの詳細は、『Sun WorkShop 入門』の付録 B を参照してください。
「構築」ウィンドウには、プログラムのコンパイルに関する情報が表示されます。このウィンドウを開くには、「ワークスペース管理」、「バージョン管理」、「フリーズポイント」のいずれかのウィンドウで「TeamWare」⇒「構築」を選択します。
「構築」ウィンドウでは、次の処理を実行することができます。
実行中の構築を中止する
構築パラメータを編集する
構築出力を別のファイルに保存する
構築エラーを表示する
図 16-1 は「構築」ウィンドウです。
「構築」メニュー |
構築操作の一般的なコマンドが表示されます。 |
「編集」メニュー |
構築出力表示区画のデータを追加したりクリアしたりするためのコマンドが表示されます。 |
「表示」メニュー |
構築出力表示区画に表示された構築エラー間を移動したり、分散メークの実行時に複数の構築プロセスに関する情報を表示したりするためのコマンドが表示されます。 |
「構築」ボタン |
現在の TeamWare ターゲットの構築を開始します。 |
「構築を中止」ボタン |
現在実行中の構築を中止します。 |
「前のエラー」ボタン |
構築出力表示区画で、前の構築エラーにカーソル移動し、そのエラーの発生場所をテキストエディタに表示します。 |
「次のエラー」ボタン |
構築出力表示区画で、次の構築エラーにカーソル移動し、そのエラーの発生場所をテキストエディタに表示します。 |
「ジョブグラフ」ボタン |
「分散メークのジョブグラフ」ウィンドウを開きます。 |
「ディレクトリ」フィールド |
現在の構築ディレクトリのパス名が表示されます。 |
「ターゲット」フィールド |
現在の make ターゲットの名前が表示されます。 |
構築出力表示区画 |
現在実行中の構築操作の出力が表示されます。 |
構築情報表示領域 |
現在実行中の構築に関する情報が表示されます。 |
構築は、構築コマンド、メークファイル、および make ターゲットをどれも指定していなくても開始できます。これらのうちの 1 つまたはすべてを指定して構築を開始することもできます。make オプションの指定、構築モードの指定、メークファイルマクロの上書き、または環境変数の編集による構築のカスタマイズも可能です (「構築のカスタマイズ」を参照)。
構築パラメータは、「ターゲットの新規定義」ダイアログおよび「ターゲットの編集」ダイアログを使用して指定します。この 2 つのダイアログの基本的な構成は同じです。新しい TeamWare ターゲットの指定には「ターゲットの新規定義」ダイアログを使用し、既存の TeamWare ターゲットの編集には「ターゲットの編集」ダイアログを使用します。図 16-2 は「ターゲットの新規定義」ダイアログです。
「ディレクトリ」フィールド |
構築ディレクトリのパスを入力します。参照ボタンをクリックしてディレクトリを選択することもできます。 |
「メークファイル」フィールド |
メークファイル (デフォルトのファイル名は makefile または Makefile) を指定します。参照ボタンをクリックしてメークファイルを選択することもできます。 |
「ターゲット」フィールド |
make ターゲットを指定します。参照ボタンをクリックしてターゲットを選択することもできます。 |
参照ボタン |
ディレクトリ、メークファイル、または make ターゲットを選択するためのダイアログが表示されます。 |
「コマンド」フィールド |
make コマンドを入力します。デフォルトのコマンドは dmake です (「分散構築の実行」を参照)。 |
「オプション」ボタン |
「オプション」ダイアログが表示されます (「make オプションの指定」を参照)。「オプション」ダイアログでは、提供されるオプションを使用して構築パラメータを変更できます。 |
「マクロ」ボタン |
「マクロ作成」ダイアログが表示されます (「メークファイルマクロの使用」を参照)。「マクロ作成」ダイアログでは、構築に渡すマクロの追加、変更、および削除が可能です。 |
「環境変数」ボタン |
「環境変数」ダイアログが表示されます (「環境変数の使用」を参照)。「環境変数」ダイアログでは、構築に渡す環境変数の追加、変更、および削除が可能です。 |
「了解」ボタン |
構築パラメータを適用してダイアログを終了します。 |
「構築」ボタン |
構築パラメータを適用してターゲットを構築します。 |
「取消し」ボタン |
変更内容を適用せずにダイアログを終了します。 |
「ヘルプ」ボタン |
ダイアログに関するオンラインヘルプが表示されます。 |
構築コマンド、メークファイル、およびターゲットをどれも指定せずに構築を開始できます。TeamWare には、デフォルトのメークファイル名 (makefile)、デフォルトの make ターゲット、およびデフォルトの make コマンド dmake (「分散構築の実行」を参照) が用意されています。ユーザーが指定する必要があるのは、構築ディレクトリのパス名だけです。
「ターゲットの新規定義」ダイアログの「メークファイル」フィールドおよび「ターゲット」フィールドには、デフォルトの値 (<デフォルト>) が表示されます。メークファイルまたは make ターゲットの指定が特にない場合、TeamWare は構築ディレクトリ内で makefile という名前のファイルを検索し、そのファイルの最初の make ターゲットを使用します。ただし、makefile という名前のファイルよりも新しい SCCS 履歴ファイル (s.makefile) が存在する場合は、s.makefile の最新バージョンが使用されます。makefile が見つからないと、TeamWare は Makefile という名前のファイルを検索します。このときも、Makefile よりも新しい SCCS 履歴ファイル (s.Makefile) が存在する場合は、s.Makefile の最新バージョンが使用されます。
デフォルトの構築パラメータを使用してプログラムを構築するには:
「構築」ウィンドウの「ディレクトリ」フィールドに、適切な構築ディレクトリセットが表示されていることを確認します。
現在表示されている構築ディレクトリを変更する必要がなければ、「構築」ボタンをクリック、「構築」ウィンドウの「構築」⇒「構築」を選択、または「構築」メニューから適切なターゲットを選択します。
「ディレクトリ」フィールドに構築ディレクトリが表示されていない場合や、表示されている構築ディレクトリを変更する必要がある場合は、「構築」⇒「新規ターゲット」を選択して「ターゲットの新規定義」ダイアログを開きます。「ディレクトリ」フィールドに構築パスを入力します。
参照ボタンをクリックしてディレクトリ選択のダイアログを表示することもできます。リストからディレクトリを選択して「了解」ボタンをクリックすると、選択したディレクトリが「ディレクトリ」フィールドに読み込まれます。次に、ダイアログの下部にある「構築」ボタンをクリックします。
「構築」ウィンドウの構築出力表示区画に、構築の出力が表示されます。構築プロセスを中止するには、「構築」ウィンドウの「構築を中止」ボタンをクリックするか、「構築」⇒「構築を中止」を選択します。
次に「構築」ウィンドウを開くときには、最後に構築ジョブを実行したディレクトリが構築ディレクトリとして設定され、「ディレクトリ」フィールドにそのパス名が表示されます。
一意の名前を持つメークファイル、特定の make ターゲット、または特定の構築コマンドを使用する場合は、「ターゲットの新規定義」ダイアログまたは「ターゲットの編集」ダイアログで、該当する参照ボタン (図 16-2 参照)をクリックして値を指定します。参照ボタンをクリックすると、ダイアログが表示されます。
構築ディレクトリ名を入力し、「了解」ボタンをクリックして変更を適用します。
参照ボタンをクリックして「構築ディレクトリ設定」ダイアログで別のディレクトリを選択することもできます。構築ディレクトリの指定がない場合、TeamWare は、「ディレクトリ」フィールドに現在表示されているディレクトリで構築を試みます。ディレクトリが表示されていない場合は、エラーメッセージダイアログが表示されます。
「メークファイル」フィールドに、使用するメークファイル名を入力します。
現在の構築ディレクトリの別のメークファイルを選択するには、「メークファイル」フィールドにメークファイル名を入力するか、参照ボタンをクリックして「メークファイル選択」ダイアログのリストからメークファイルを選択し、「了解」ボタンをクリックします。
メークファイルがあるディレクトリと異なるディレクトリで構築を実行できます。その場合は、「メークファイル」フィールドでメークファイルの絶対パス名を指定します。
「ターゲット」フィールドに、使用する make ターゲット名を入力します。
「ターゲット」フィールドに make ターゲット名を入力するか、参照ボタンをクリックして「ターゲット選択」ダイアログで現在のメークファイルから別の make ターゲットを選択し、「了解」ボタンをクリックします。
「コマンド」フィールドに、使用する構築コマンド名を入力します。
make または dmake 以外の構築コマンドを指定する場合は、「コマンド」フィールドで、そのコマンドと引数を指定します。構築コマンドは、「環境変数」ダイアログで指定した環境変数に対する setenv コマンドと、「オプション」ダイアログおよび「メークのマクロ」ダイアログで指定した make オプションから構成されます。
構築コマンドへのパスを PATH 環境変数に設定していない場合は、コマンドの絶対パスを指定してください。
「ターゲットの新規定義」ダイアログの「構築」ボタンをクリックすると、ここで指定した内容を使用して構築が開始されます。
「構築」ウィンドウの構築出力表示区画に、構築の出力が表示されます。構築プロセスを中止するには、「構築」ウィンドウの「構築の中止」ボタンをクリックするか、「構築」⇒「構築の中止」を選択します。
構築出力表示区画に表示されている構築出力は、構築ジョブを実行するたびにクリアされます。前回の構築結果を残しておくには、「前の結果を消去しない」スイッチをオンにします。
構築出力を修正するには、「編集」⇒「前の結果を消去しない」を選択します。
「前の結果を消去しない」コマンドは、スイッチによってオンとオフが切り替わります。構築を実行すると、前回の構築出力の下に、新しい構築の出力が表示されます。表示区画をスクロールして過去の構築出力を表示できます。構築を特定するために、各構築出力の先頭には、その構築の構築パスおよび構築ターゲット名が表示されます。
構築出力のログをクリアするには、「編集」⇒「結果を消去」を選択します。
出力をファイルに保存して、1 回もしくは複数回の構築出力情報の履歴を作成できます。
構築出力を保存するには:
構築出力のログは、テキストファイルとして保存されます。
既存の TeamWare ターゲットを編集するには、「構築」⇒「ターゲットを編集」を選択し、リストから TeamWare ターゲットを選択します。「ターゲットの編集」ダイアログが開き、構築ディレクトリ、メークファイル、make ターゲット、構築コマンドの現在の設定内容が表示されます。これらのフィールドの編集については、「デフォルト値以外を使用した構築」を参照してください。次に、「構築」ボタンをクリックすると、新しい設定内容を使用して、TeamWare ターゲットが再構築されます。
TeamWare ターゲットのリスト、および「構築」メニューの「ターゲットを編集」のリストからターゲットを削除できます。
ターゲットを削除するには:
「構築」ウィンドウで「構築」⇒「メニューからターゲットを削除」を選択します。
「メニューからターゲットを削除」ダイアログのリストから 1 つまたは複数のターゲットを選択します。
Ctrl キーを押したままクリックすると、複数のターゲットを選択できます。
「了解」ボタンをクリックします。
make オプションの変更、構築モードの指定、メークファイルマクロの使用、または環境変数の使用により、構築をカスタマイズできます。構築をカスタマイズするには、「構築」⇒「ターゲットを編集」を選択して、リストから TeamWare ターゲットを 1 つ選択します。「ターゲットの編集」ダイアログが開きます。必要な変更を加えたら、「構築」ボタンをクリックして、新しい設定で TeamWare ターゲットを再構築します。
make オプションの指定には、「オプション」ダイアログ (図 16-3 参照) を使用します。
「カテゴリ」リスト |
make オプションのカテゴリを選択します。 |
「了解」ボタン |
変更内容を適用してダイアログを終了します。 |
「適用」ボタン |
変更内容を適用するだけでダイアログは終了しません。 |
「取消し」ボタン |
変更内容を適用せずにダイアログを終了します。 |
「ヘルプ」ボタン |
このダイアログに関するオンラインヘルプが表示されます。 |
表 16-1 に、「オプション」ダイアログを使用して設定できるオプションについて説明します。
表 16-1 「オプション」ダイアログで設定できるオプション
カテゴリ |
オプション |
---|---|
基本 |
コマンド行への入力を表示するだけで実行はしません (-n)。 |
|
エラーが発生した場合は、依存関係のツリーのうち、そのターゲットに依存しない分岐について実行を継続します (-k)。 |
コマンドの実行と 表示 |
make でそのターゲットを再構築する理由を表示します。選択されたターゲットよりも新しい依存ファイルがあれば、それらもすべて表示されます。make の表示オプションは、MAKEFLAGS 環境変数からも読み込まれます (-d)。 |
|
依存関係の検査および処理に関する詳細情報を表示します (-as)。 |
|
読み込まれたメークファイルのテキストを表示します (-D)。 |
|
メークファイルのテキスト、make.rules ファイル、状態ファイル、およびすべての隠し依存関係レポートを表示します (-DD)。 |
|
サイレントモード。実行前にコマンド行を表示しません。特殊関数ターゲット .SILENT: と同義です (-s)。 |
実行せず表示する だけのオプション |
マクロ定義とターゲット記述の完全セットを印刷します (-p)。 |
依存関係のレポートだけを作成し、構築は行いません (-P)。 |
|
|
クエスチョンモード。ターゲットファイルが最新の状態であるかどうかに応じて、ゼロまたはゼロ以外のステータスコードを返します (-q)。 |
その他 |
規則に従わずにターゲットファイルを操作します (ターゲットを外見上だけ最新の状態にします)。ファイルを複数のユーザーが管理している場合にこの処理を行うと危険です。このオプションは、メークファイルに .KEEP_STATE: ターゲットが現れたとき、規則に従っているかのように、状態ファイルを更新します (-t)。 |
|
デフォルトのメークファイル /usr/share/lib/make/make.rules にあるデフォルトの規則を使用しません (-r)。 |
|
メークファイル内のマクロ変数を環境変数で上書きします (-e)。 |
|
コマンドから返されたエラーコードを無視します。特殊関数ターゲット .IGNORE: と同義です (-i)。 |
分散メーク |
モード: 実行する make プロセスの種類を逐次、並列、または分散の中から選択します (「構築モードの指定」を参照) (-m)。 |
|
最大ジョブ数: 構築サーバーに分散する最大ジョブ数を指定します (-j)。 |
|
実行時の構成ファイル: 実行時の構成ファイルを指定します。 |
|
構築サーバーグループ: ジョブを分散する構築サーバーグループの名前を指定します。 |
|
一時出力ディレクトリ: 一時的な出力を書き込むディレクトリの名前を指定します。 |
make オプションを指定するには:
「オプション」ボタンをクリックして「オプション」ダイアログを開きます。
「オプション」ダイアログで、使用するオプションを選択します。
「カテゴリ」リストをクリックして make オプションを選択します。「オプション」ダイアログには、make および dmake のすべてのオプションを指定できます。分散メークオプションについての詳細は、「構築モードの指定」を参照してください。
「了解」ボタンをクリックして、指定したオプションを適用します。「ターゲットの編集」ダイアログで「構築」ボタンをクリックして構築を開始します。
make オプションは、「構築」メニューの「新規ターゲット」を選択すると表示される「ターゲットの新規定義」ダイアログでも指定できます。
dmake のデフォルトの構築モードを逐次から並列または分散に変更するには:
「オプション」ボタンをクリックして「オプション」ダイアログを開きます。
「カテゴリ」リストから「分散メーク」カテゴリを選択します。
使用する構築モードをクリックし、必要に応じてフィールドに値を入力します (図 16-4 参照)。
「了解」ボタンをクリックして、指定したオプションを設定します。「ターゲットの編集」ダイアログで「構築」ボタンをクリックして構築を開始します。
逐次モードで構築を実行するには、「逐次」ラジオボタンをクリックします。フィールドへの入力は必要ありません。
並列モードで構築を実行するには、「並列」ラジオボタンをクリックします。「最大ジョブ数」フィールドに、実行する構築ジョブの最大数を入力します。最大ジョブ数を指定しない場合、dmake はデフォルト値の 2 を使用します。
分散モードで構築を実行するには、「分散」ラジオボタンをクリックします。「最大ジョブ数」フィールドに、実行する構築ジョブの最大数を入力します。最大ジョブ数を指定しない場合、グループ内の各サーバーに対して指定された最大ジョブ数の合計を使用します。
「実行時の構成ファイル」フィールドに表示されているデフォルトのファイル名およびディレクトリを使用しない場合は、このフィールドに、使用する .dmakerc ファイル (「.dmakerc ファイル」を参照) の名前またはパスを入力します。
「構築サーバーグループ」フィールドにグループ名を入力しない場合、dmake は .dmakerc ファイルにリストされている最初のグループを使用します。分散モードで実行する際、dmake は次の順番で各グループにジョブを分散します。
コマンド行で -g オプションに対する引数として指定されたグループ
DMAKE_GROUP メークファイルマクロによって指定されたグループ
DMAKE_GROUP 環境変数によって指定されたグループ
実行時構成ファイルで最初に指定されたグループ
「一時出力ディレクトリ」フィールドに表示されているデフォルトのディレクトリ名および位置を使用しない場合は、このフィールドに、出力ディレクトリの名前を入力します。
分散構築についての詳細は、「分散構築の実行」を参照してください。
メークファイルマクロを使用すると、1 つの記述ファイル内で複数回使用されるファイルまたはコマンドオプションの参照に便利です(マクロ定義についての詳細は、『Sun WorkShop 入門』の付録 B を参照してください)。
「メークのマクロ」ダイアログ (図 16-5) を使用すると、TeamWare ターゲットの「持続的構築マクロ」リスト内のメークファイルマクロを追加または削除したり、リスト内のメークファイルマクロに値を再割り当てしたりすることができます。現在メークファイルに定義されているマクロをリストに追加し、それらの値に上書きすることもできます。
「持続的構築マクロ」リスト内のすべてのマクロがワークセットとともに保存されます。
「メークのマクロ」ダイアログを開くには、「ターゲットの編集」ダイアログの「マクロ」ボタンをクリックします。
「持続的構築マクロ」 リスト |
ワークセットとともに保存するマクロがリストされます。 |
「詳細/隠す」ボタン |
「詳細」ボタンをクリックすると「フィルタ」フィールドおよび「メークファイル中のマクロ」リストの区画が開き、「隠す」ボタンをクリックするとこの区画が閉じます。「詳細」ボタンと「隠す」ボタンはクリックで切り替わります。 |
「<<追加」ボタン |
「メークファイル中のマクロ」リスト内のマクロを「持続的構築マクロ」リストに追加します。 |
「名前」フィールド |
新しいマクロに名前を割り当てたり、「持続的構築マクロ」リスト内の選択されたマクロの名前を変更したりすることができます。 |
「値」フィールド |
「名前」フィールドで名前を指定したマクロに値を割り当てます。 |
「追加」ボタン |
「名前」フィールドおよび「値」フィールドで定義したマクロを「持続的構築マクロ」リストに追加します。 |
「変更」ボタン |
「名前」フィールドおよび「値」フィールドの値を、「持続的構築マクロ」リスト内の選択されたマクロに適用します。 |
「削除」ボタン |
「持続的構築マクロ」リスト内の選択されたマクロを削除します。 |
「すべてを削除」ボタン |
「持続的構築マクロ」リスト内のすべてのマクロを削除します。 |
「消去」ボタン |
「名前」フィールドおよび「値」フィールドをクリアします。 |
「フィルタ」フィールド |
「持続的構築マクロ」リストの内容に対するフィルタに使用する検索パターンを入力します。 |
「メークファイル中のマクロ」リスト |
現在のワークセットのメークファイルに定義されているマクロがリストされます。 |
「了解」ボタン |
変更内容を適用してダイアログを終了します。 |
「適用」ボタン |
変更内容を適用するだけでダイアログは終了しません。 |
「取消し」ボタン |
変更内容を適用せずにダイアログを終了します。 |
「ヘルプ」ボタン |
このダイアログに関するオンラインヘルプが表示されます。 |
「持続的構築マクロ」リストにマクロを追加するには:
「名前」フィールドにマクロ名を入力します。
「値」フィールドに、追加するマクロに対する値を入力します。
入力を誤った場合は、「消去」ボタンをクリックすると、「名前」フィールドおよび「値」フィールドの内容がクリアされます。
「追加」ボタンをクリックすると、新しいマクロがリストに追加されます。
必要に応じて、上の 3 つの手順を繰り返してほかのマクロも追加します。
「了解」ボタンをクリックして、変更内容を適用してダイアログを終了します。
「持続的構築マクロ」リストからマクロを削除するには:
リストからマクロを選択します。
「削除」ボタンをクリックします (リスト内のすべてのマクロを削除するには「すべてを削除」ボタンをクリックします)。
「了解」ボタンをクリックして、変更内容を適用してダイアログを終了します。
「持続的構築マクロ」リスト内のマクロの値を変更するには:
リストからマクロを選択します。
「値」フィールドに新しい値を入力して、「変更」ボタンをクリックします。
「了解」ボタンをクリックして、変更内容を適用してダイアログを終了します。
「ターゲットの編集」ダイアログの「構築」ボタンをクリックすると、新しい値を使用して構築が開始されます。
「持続的構築マクロ」リスト内のマクロ定義は、メークファイル内の同名のマクロに上書されます。
現在のマクロ定義を表示するには、「詳細」ボタンをクリックして「メークファイル中のマクロ」リストを開きます。このリストには、現在の構築ターゲットに対するメークファイルに定義されているすべてのマクロが表示されます。「フィルタ」フィールドを使用してリストにフィルタをかけることができます。
メークファイルマクロの値を上書きするには:
「メークファイル中のマクロ」リストからマクロを選択します。
「<<追加」ボタンをクリックすると、選択したマクロが「持続的構築マクロ」リストに追加されます。
「値」フィールドに新しい値を入力して、「変更」ボタンをクリックします。
「了解」ボタンをクリックして、変更内容を適用してダイアログを終了します。
「持続的構築マクロ」リスト内のマクロ定義が、メークファイル内の同名のマクロに上書きされ、ワークセットとともに保存されます。
「ターゲットの編集」ダイアログの「構築」ボタンをクリックすると、新しい値を使用して構築が開始されます。
構築に使用する環境変数を指定できます。構築の開始時に、指定した環境変数に対する setenv コマンドが構築コマンドに付加されます。
「環境変数」ダイアログを使用すると、TeamWare ターゲットの「持続的環境変数」リスト内の環境変数を追加または削除したり、リスト内の環境変数に対して値を割り当てたりすることができます。
「持続的環境変数」リスト内のすべてのマクロがワークセットとともに保存されます。
プログラム構築用の「持続的環境変数」リストは、『Sun WorkShop 入門』の第 5 章に記述されている、プログラム実行用の「持続的環境変数」リストと異なります。
「環境変数」ダイアログを開くには、「ターゲットの編集」ダイアログの「環境変数」ボタンをクリックします。
「持続的環境変数」リストに環境変数を追加するには:
「名前」フィールドに環境変数名を入力します。
「値」フィールドに変数の値を入力します。
入力を誤った場合は、「消去」ボタンをクリックすると、「名前」フィールドおよび「値」フィールドの内容がクリアされます。
「追加」ボタンをクリックすると、入力した環境変数が「持続的環境変数」リストに追加されます。
必要に応じて、上の 3 つの手順を繰り返してほかの環境変数も追加します。
「了解」ボタンをクリックしてダイアログを終了します。
「持続的環境変数」リストから環境変数を削除するには:
リストから変数を選択します。
「削除」ボタンをクリックします (リスト内のすべての環境変数を削除するには「すべてを削除」ボタンをクリックします)。
「了解」ボタンをクリックして、変更内容を適用してダイアログを終了します。
「持続的環境変数」リスト内のマクロの値を変更するには:
リストから環境変数を選択します。
「値」フィールドに新しい値を入力して、「変更」ボタンをクリックします。
「了解」ボタンをクリックして、変更内容を適用してダイアログを終了します。
「ターゲットの編集」ダイアログの「構築」ボタンをクリックすると、新しい構築環境で構築が開始されます。
「持続的環境変数」リスト内の環境変数定義は、現在の TeamWare プロセス環境の同名の環境変数に上書きされます。
現在の TeamWare プロセス環境変数の定義を表示するには、「詳細」ボタンをクリックして「現在の環境」リストを開きます。このリストには、現在 TeamWare プロセス環境で定義されているすべての環境変数が表示されます。「フィルタ」フィールドを使用してリストにフィルタをかけることができます。
環境変数の値を上書きするには:
「現在の環境」リストから環境変数を選択します。
「<<追加」ボタンをクリックすると、選択した環境変数が「持続的環境変数」リストに追加されます。
「値」フィールドに新しい値を入力して、「変更」ボタンをクリックします。
「了解」ボタンをクリックして、変更内容を適用してダイアログを終了します。
「持続的環境変数」リスト内の環境変数定義が、現在の TeamWare プロセス環境の環境変数定義に上書きされ、ワークセットとともに保存されます。
「ターゲットの編集」ダイアログの「構築」ボタンをクリックすると、新しい値を使用して構築が開始されます。
テキストエディタと構築プロセスの統合により、構築エラーを簡単なプロセスで修正できます。構築が失敗すると、構築エラーが「構築」ウィンドウの構築出力表示区画に表示されます (図 16-6 参照)。構築エラーはエラーが存在しているソースファイルにリンクされ、下線が引かれて強調表示されます。認識されないエラーは、強調表示や下線を使用せずに、通常の構築出力と同様に表示されます。
構築ジョブと修正 (編集後のソースファイルの再コンパイル) を同時に実行しないでください。「構築」ウィンドウの構築出力表示区画に両方のジョブの出力が混在して表示され、それぞれのジョブの出力を見分けるのが困難になります。
エラーごとに、そのエラーが存在しているファイル名、エラーが発生した行番号、エラーメッセージが示されます。
C コンパイラによって発行された構築エラーメッセージにはグリフ
が付加されます。このグリフをクリックすると、そのエラーメッセージの定義を示すポップアップウィンドウが表示されます。
ハイパーテキストリンクに変換できる出力を生成できるのは Sun コンパイラだけです。使用している構築コマンドで Sun コンパイラを呼び出せない場合は、「構築」ウィンドウに表示された構築エラーからエラーのソースファイルへのリンクは使用できません。
下線が付いているエラーをクリックすると、テキストエディタが起動され、エラーが存在しているソースファイルが表示されます。ソースファイルのエラー行は強調表示され、その行の左側にエラーグリフが表示されます (図 16-8 参照)。
キーボードショートカットの F4 (次のエラー) および Shift+F4 (前のエラー) を使用してエラー間を移動すると、テキストエディタのウィンドウだけを見て修正作業を進めることができます。
次に、「構築」ウィンドウとエディタを使って、構築エラーを素早く修正するための手順を説明します。
「構築」ウィンドウの出力表示区画で強調表示されているエラーをクリックします。
設定されているエディタのウィンドウが開き、エラーが存在しているソースファイルが表示されます。エラーの存在している行を検索する必要はありません。エラー行は強調表示され、カーソルがその行に置かれています。エラーメッセージはテキストエディタのフッターにも表示されます。
エディタでそのソースファイルを編集できることを確認します。
SCCS の管理下にあるファイルを修正する場合は、テキストエディタのメニューコマンドを使用してファイルをチェックアウトします。
vi エディタでは、「バージョン」⇒「チェックアウト」を選択します。
XEmacs エディタでは、「ツール」⇒「VC」⇒「Check out File <ファイル名>」を選択します。
GNU Emacs エディタでは、「Tools」⇒「Version Control」⇒「Check Out」を選択します。
エラーのあるソースファイルを編集します。
「構築」ウィンドウで「次のエラー」ツールバーボタンをクリック (または、キーボードショートカット F4 を使用) し、テキストエディタの次の構築エラーの場所に移動します。
「次のエラー」ボタンをクリックすると、構築出力の次のエラーが強調表示され、同時にテキストエディタの対応するソース行も強調表示されます。
編集したファイルを保存します。
vi エディタでは、「ファイル」⇒「保存」を選択します。
XEmacs エディタでは、「ファイル」⇒「保存」を選択します。
GNU Emacs エディタでは、「File」⇒「Save buffer」を選択します。
SCCS の管理下にあるファイルは、テキストエディタのメニューコマンドを使用してファイルをチェックインします。
vi エディタでは、「バージョン」⇒「チェックイン」を選択します。
XEmacs エディタでは、「ツール」⇒「VC」⇒「Check in Files <ファイル名>」を選択します。
GNU Emacs エディタでは、「Tools」⇒「Version Control」⇒「Check In」を選択します。
エディタウィンドウの「構築」ツールバーボタンをクリックすると再構築されます。
「構築」ウィンドウの「構築」ツールバーボタンをクリックするか、キーボードショートカット F3 を使用しても再構築できます。
構築処理の進行状況は、構築の出力表示区画で監視できます。
分散メーク (dmake) を使用すると、多数のプログラムから構成される大規模なプロジェクトを構築する処理を、複数のワークステーション上、またはマルチプロセッサシステムの複数の CPU 上に分散できます。分散メークについての詳細は、第 17 章「分散メーク (dmake) ユーティリティの使用」を参照してください。
Sun TeamWare のデフォルトの構築コマンド (dmake) には、次の 3 つの構築モードが用意されています。
逐次モード - ローカルホスト上で一度に 1 つのジョブを実行します (make と似ています)。
並列モード - ローカルホスト上で同時に複数のジョブを実行します。
分散モード - 複数の構築サーバー上で複数のジョブを実行します。
分散モードでは、多数のプログラムから構成される大規模なプロジェクトを構築する処理を、複数のサーバーに分散させて同時に実行できます。dmake は、メークファイルを構文解析して、どのターゲットを同時に構築できるかを判断し、それらのターゲットの構築を、ユーザーが指定した複数のサーバーに分散します。
デフォルトでは、dmake は逐次モードで実行されます。「オプション」ダイアログで、dmake を並列モードまたは分散モードで実行するよう設定できます (「make オプションの指定」を参照)。
初めて分散構築を実行する場合は、dmake 構築サーバーとして使用するマシンを指定する構成ファイルを、事前に作成する必要があります。また、構築サーバーとして使用するマシンは、分散されたジョブを実行できるように設定する必要があります。
構築サーバーでは、アーキテクチャおよびオペレーティングシステムのバージョンを dmake ホストと同一にすることをお勧めします。デフォルトでは、dmake ホストと構築サーバーの dmake 実行可能ファイルのパスが同じであることを前提としています。これらのパスが異なる場合は、サーバー側のパス属性をカスタマイズする必要があります (詳細は、dmake(1) のマニュアルページを参照してください)。
.dmakerc ファイルは実行時構成ファイルです。分散構築を実行するには、実行時構成ファイルを設定する必要があります。このファイルには、構築サーバーのグループ (リスト) および各構築サーバーに分散されるジョブ数が記述されています。dmake ユーティリティは、dmake ホスト上でこのファイルを検索して、ジョブの分散先を決定します。通常、.dmakerc ファイルは dmake ホストのホームディレクトリに置かれます。
.dmakerc ファイルでは、グループ名およびホスト名を二重引用符で囲むことができます。文字列の一部として二重引用符を使用することで、グループおよびホストに付ける名前の制約が緩和されます。たとえば、先頭の 1 桁が数字のグループ名などは、次のように二重引用符で囲みます。
group“123_sparc”
dmake ユーティリティは、実行時構成ファイルを、次の場所および順序で検索します。
コマンド行で -c オプションを使用して指定されたパス名
DMAKE_RCFILE メークファイルマクロを使用して指定されたパス名
DMAKE_RCFILE 環境変数を使用して指定されたパス名
$(Home)&/.dmakerc
実行時構成ファイルが見つからなかった場合、dmake ユーティリティは 2 つのジョブをローカルホストに分散します。
実行時構成ファイルの設定については、dmake のマニュアルページを参照してください。
次に、簡単な実行時構成ファイルの例を示します。この例の構築サーバーは、jupiter、venus、saturn、mercury、および pluto です。
# My machine. This entry causes dmake to distribute to it. jupiter { job = 1 } venus # Manager's machine. She's usually at meetings. mercury { jobs = 4 } pluto
earth { jobs = 2 } mar { jobs = 3 } group sunos4.x { host parasol host summer } group lab1 { host falcon { jobs = 3 } host hawk host eagle { jobs = 3 } } group labs2 { 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 } }
構築サーバーとして使用するマシンを設定するには、サーバーのファイルシステム上に、/etc/opt/SPROdmake/dmake.conf という構成ファイルを作成する必要があります。dmake は、このファイルが存在しないマシンにはジョブを分散しません。
dmake.conf ファイルには、その構築サーバーで同時に実行できる (全ユーザーからの) ジョブの最大数を指定します。また、すべての dmake ジョブの実行に適用される nice 優先度も指定できます。次に、dmake.conf ファイルの例を示します。
max_jobs: 8 nice_prio: 5
分散メーク (任意のモードの dmake) の実行中に、「ジョブグラフ」ウィンドウで dmake の実行プロセスを監視したり、各構築ジョブの状態を表示したりすることができます。
ジョブグラフでは、各構築サーバーが識別されて、構築ジョブがサーバーごとのグラフにまとめて表示されます。グラフには、各構築ジョブにかかった時間が表示され、個々のジョブが 1 本の線で示されます。この線の状態で、構築が進行中 (緑の点線) や構築の完了 (青の実線) または失敗 (赤の点線) が表されます。
「構築」ウィンドウから「ジョブグラフ」ウィンドウを開くには、「ジョブグラフ」ボタン (図 16-1 参照) をクリックするか、「表示」⇒「分散メークのジョブグラフ」を選択します。
グラフに表示されたジョブの 1 つのセグメントを選択し、ウィンドウ下部の「選択されているジョブ」の「出力」区画にそのセグメントの構築出力を表示することもできます。
実行中の構築プロセスを中止してすべての構築ウィンドウを閉じるには、「構築」ウィンドウで「構築」⇒「構築終了」を選択します。
実行中の構築プロセスを中止せずに構築ウィンドウを閉じるには、「構築」⇒「閉じる」を選択します。