Sun WorkShop の概要 |
第 3 章
プログラムの構築
Sun WorkShop プロジェクトでは、構築をカスタマイズしたり、メークファイルを記述しないでプログラムを構築したり、自分で作成したメークファイルを使用してプログラムを構築したりできます。また、「構築」ウィンドウと Sun WorkShop エディタを使用し、プロジェクトなしでアプリケーションを構築したり、一度に 1 つまたは複数の構築ジョブを実行したり、構築エラーを修正したりすることもできます。
具体的な手順とその他の情報については、オンラインヘルプを参照してください (オンラインヘルプには、Sun WorkShop のどのウィンドウからでも「ヘルプ」メニューまたは「ヘルプ」ボタンでアクセスできます)。
ターゲットの操作
Sun WorkShop における構築に関係するターゲットは、次の 2 種類があります。
Sun WorkShop ターゲット
Sun WorkShop ターゲットは、構築ディレクトリ、構築コマンド、メークファイル、構築ターゲットで構成されるオブジェクトです。
- 構築ディレクトリ : 構築プロセスが起動されるディレクトリで、メークファイルのデフォルトのディレクトリでもあります。
- 構築コマンド :
make
ユーティリティを起動するコマンド。make
ユーティリティはメークファイルを読み取り、構築ターゲットを構築します。- メークファイル : 構築ターゲットとファイル間の依存関係に基づいて構築ターゲットの更新方法を示す項目からなるファイルです。1 つの依存関係が 1 つの構築ターゲットになるため、依存関係自体が複数の依存関係を持つことがあります。構築ターゲットを再構築するかどうかを決定するときに、
make
がトレースするツリー構造は、こうしたターゲットとファイル間の依存関係と下位依存関係によって形成されます。- 構築 (
make
) のターゲット :make
が特定のメークファイルに含まれる指示 (規則) からその構築方法に関する情報を得るオブジェクト。たとえば、make
のターゲットは all になることもあれば、clean になることもあります。通常、メークファイルは、最も一般的なターゲットがデフォルトターゲット (ターゲットを指定しなかったときに構築されるターゲット) になるように設計されています。Sun WorkShop ターゲットは、構築されると「構築」メニューのピックリストと「構築」 「ターゲットを編集」コマンドの Sun WorkShop ターゲットのピックリストに追加されます。構築を開始すると、Sun WorkShop ターゲットのリストの先頭にあるターゲットが構築されます。
プロジェクトには、複数のターゲットを含むことができます。実行可能ファイル、静的ライブラリ / アーカイブ、共有ライブラリ、Fortran アプリケーションの場合は、実行可能ファイル / ライブラリが 1 つのターゲットで、特殊な Clean ターゲットがもう 1 つのターゲットということになります (「構築」メニューのピックリストにある)。Clean ターゲットは、プロジェクトで作成されたファイル (たとえば
.o
ファイル)、ソースブラウズ用データベース、C++ テンプレートデータベース、実行可能ファイルそのもの、およびその他の構築関係のファイルのすべてを削除します。複雑なプロジェクトの場合は、「構築」メニューのピックリストに複数のオブジェクトが含まれることがあります。たとえば、プロジェクトで、5 つのライブラリと 1 つの実行可能ファイルを作成し、まとめてリンクできます。この結果、それぞれのライブラリおよび実行可能ファイルは 1 つの Sun WorkShop ターゲットになり、「構築」メニューのピックリストから選択することで個別に構築できます。
ユーザーメークファイルターゲット
ユーザーメークファイルターゲットは、
make
が特定のメークファイルに含まれる指示 (規則) からその構築方法に関する情報を得るオブジェクトです。通常、メークファイルは、最も一般的なターゲットがデフォルトターゲット (ターゲットを指定しなかったときに構築されるターゲット) になるように設計されています。メークファイルには、構築ターゲットとファイル間の依存関係に基づいて構築ターゲットの更新方法を表す項目が含まれます。1 つの依存関係が 1 つの構築ターゲットであるため、依存関係自体が複数の依存関係を持つことがあります。構築ターゲットを再構築するかどうかを決定するときに、
make
がトレースするツリー構造は、こうしたターゲットとファイル間の依存関係と下位依存関係によって形成されます。ユーザーメークファイルプロジェクトの場合、「構築」メニューのピックリストに含まれるターゲットは、メークファイルか構築するメークファイルターゲットになります。
「構築」ウィンドウ
「構築」ウィンドウには、プログラムのコンパイルに関する情報が表示されます。「構築」ウィンドウは、Sun WorkShop メインウィンドウから「構築」 「構築ウィンドウの表示」を選択して開きます。図 3-1 に、「構築」ウィンドウを示します。
図 3-1 構築ウィンドウプログラムの構築
プロジェクトは、全体をまとめて構築することも、プロジェクトターゲットを 1 つだけ構築することもできます。プロジェクトターゲットを構築するように指示すると、Sun WorkShop は次のことを行います。
- 「新規プロジェクト作成」ウィザードまたは「現在のプロジェクトを編集」ウィンドウで指定されたプロジェクト情報に基づいてメークファイルを作成します。
make
ユーティリティを起動します。- 「構築」ウィンドウを開いて、構築結果を表示します。
「ターゲットの新規定義」や「ターゲットの編集」ダイアログボックスで、構築パラメタを指定することもできます。新しい WorkShop ターゲットを定義する場合は「ターゲットの新規定義」ダイアログボックス、既存の WorkShop ターゲットを変更する場合は、「ターゲットの編集」ダイアログボックスをそれぞれ使用します (実際には、「ターゲットの新規定義」と「ターゲットの編集」ダイアログボックスは同じものです)。図 3-2 は、「ターゲットの新規定義」ダイアログボックスです。
図 3-2 「ターゲットの新規定義」ダイアログボックスデフォルト値を使用した構築
Sun WorkShop には、デフォルトの構築ターゲットとデフォルトの
make
コマンド (dmake
) があります。このため、構築コマンドや構築ターゲットを指定しなくても構築を開始できます。ただし、ユーザーメークファイルプロジェクトを構築する場合や、プロジェクトが読み込まれていない場合は、メークファイルを指定する必要があります (Sun WorkShop は、makefile
またはMakefile
という名前のファイルを検索して、make
がどちらのファイルを使用するか決定できるようにします)。Sun WorkShop のこのプロジェクト機能によって、「新規プロジェクト作成」ウィザードや「現在のプロジェクトを編集」ウィンドウからメークファイルを作成するように指示できます。
独自の構築値の指定
一意の名前を持つメークファイル、独自の構築ターゲット、独自の構築コマンドがある場合は、「ターゲットの新規定義」ダイアログボックスや「ターゲットの編集」ダイアログボックスでその値を指定できます (この指定ができるのは、ユーザーメークファイルプロジェクトに対してか、プロジェクトが読み込まれていない場合です)。たとえば、独自の構築コマンドを指定することによって、
make
の出力をフィルタにかけ、不要な警告を排除できます。make
コマンドには、少なくとも構築ディレクトリを指定する必要があります。Sun WorkShop は指定されたmake
コマンドを使用し、make
の検索順序に従ってメークファイルを検索します。詳細は、make
(1S) のマニュアルページと、オンラインヘルプを参照してください。構築オプションの指定
「構築オプション」ダイアログボックスで構築オプションを指定できます。「構築オプション」ダイアログボックスを開くには、「ターゲットの編集」ダイアログボックスから「オプション」をクリックします。使用できるオプションについての詳細は、「構築オプション」ダイアログボックスから「ヘルプ」をクリックしてください。必要なオプションの選択を終了したら、「構築オプション」ダイアログボックスで「了解」をクリックし、「ターゲットの編集」ダイアログボックスで「構築」をクリックします。
初めて分散メークを行う場合は、
dmake
構築サーバーとして参加するマシンを指定した.dmakerc
実行時構成ファイルを作成する必要があります。このファイルには、構築サーバーのグループ (リスト) と各構築サーバーに分散するジョブ数を含めます。dmake
ユーティリティは、dmake
ホストでこのファイルを検索することによって、ジョブを分散する場所の情報を取得します。一般に、.dmakerc
実行時構成ファイルは、作成した人のホームディレクトリに置きます。実行時構成ファイルを検索できなかった場合、dmake
はローカルホストに 2 つのジョブを割り当てます。実行時構成ファイルの作成については、オンラインヘルプとdmake
(1) のマニュアルページを参照してください。dmake
ユーティリティについての詳細は、このマニュアルの付録 C と、dmake
(1) のマニュアルページを参照してください。マシンを構築サーバーとして設定するには、そのマシンのファイルシステムに
/etc/opt/SPROdmake/dmake.conf
という構成ファイルを作成する必要があります。このファイルが存在しない場合、dmake
はそのマシンにジョブを割り当てるのを拒否します。dmake.conf
ファイルには、そのマシン上で同時に実行可能なジョブ (全ユーザーからのジョブ) の最大数を指定します。詳細は、オンラインヘルプ、このマニュアルの付録 C 、dmake
(1) のマニュアルページを参照してください。メークファイルマクロの使用方法
「メークのマクロ」ダイアログボックスにメークファイルマクロを指定できます (このダイアログボックスを開くには、「ターゲットの編集」または「ターゲットの新規定義」ダイアログボックスから「マクロ」をクリックします)。メークファイルマクロを使用することによって、記述ファイル内で使用されているファイルやコマンドオプションを参照できます。「メークのマクロ」ダイアログボックスでは、WorkShop ターゲットの「持続的構築マクロ」リストに対してメークファイルマクロを追加、削除したり、マクロに対する値を変更したりできます。また、メークファイルに現在定義されているマクロをリストに追加したり、その値を無効にすることもできます。詳細は、「メークのマクロ」ダイアログボックスにある「ヘルプ」をクリックしてください。また、マクロの定義については、付録 B を参照してください。
環境変数の使用
「環境変数」ダイアログボックスで、構築に使用する環境変数を指定できます (このダイアログボックスを開くには、「ターゲットの編集」または「ターゲットの新規定義」ダイアログボックスから「環境変数」をクリックします)。「環境変数」ダイアログボックスでは、WorkShop ターゲットの「持続的環境変数」リストに対して環境変数を追加、削除したり、環境変数に対する値を変更したりできます。構築を開始すると、環境変数を設定するための
setenv
コマンドが構築コマンドの前に付加されます。詳細については、「環境変数」ダイアログボックスにある「ヘルプ」をクリックしてください。構築エラーの表示
構築で問題が発生すると、「構築」ウィンドウの構築出力表示区画に構築エラーメッセージが表示され、ソースファイル内のエラー発生場所へのハイパーテキストリンク (下線付きで強調表示されます) が作成されます (図 3-3 を参照)。エラーメッセージには、必ず、そのエラーを含むファイルの名前とエラーが発生した行番号、エラー内容が示されます。「構築」ウィンドウ内の下線の付いた部分をクリックすると、テキストエディタが起動して、そのエラーを含むソースファイルが表示されます。詳細は、オンラインヘルプを参照してください。
注 - 出力をハイパーテキストリンクに変換して生成できるのは、サンのコンパイラだけです。サンのコンパイラを呼び出さない構築コマンドを使用した場合、「構築」ウィンドウに表示された構築エラーからソースファイルへのリンクは作成されません。
図 3-3 「構築」ウィンドウの構築出力表示区画に表示された構築エラーメッセージFortran や C、C++ コンパイラによって出力されたエラーメッセージの構築エラーメッセージ部分には、情報アイコン ( ) が表示されます。このアイコンをクリックすると、そのエラーに関する情報を示すポップアップウィンドウが表示されます (図 3-4 を参照)。
図 3-4 構築エラーと、エラーに関する情報を示すダイアログボックス構築の終了
現在の構築プロセスを強制終了して、すべての構築ウィンドウを閉じるには、「構築」ウィンドウから「構築」 「構築終了」を選択します。
サン・マイクロシステムズ株式会社 Copyright information. All rights reserved. |
ホーム | 目次 | 前ページへ | 次ページへ | 索引 |