第5章 PowerCOBOLを使いこなそう
5.5 実行可能プログラム作成時および実行時の便利な機能
5.5.9 バッチモードでビルドする
ビルドまたはリビルドした結果は、プロジェクトファイルと同じフォルダに、"プロジェクト名.BLG"というファイル名で出力されます。
/build | /rebuild
プロジェクトファイルに含まれるすべてのモジュールをビルドする場合は、/buildを、リビルドする場合は、/rebuildを指定します。
/Debug | /Release
デバッグモードでバッチビルドする場合は、/Debugを、リリースモードでバッチビルドする場合は、/Releaseを指定します。
省略した場合、プロジェクトのプロパティ設定ダイアログボックスで指定されているビルドモードになります。
/cbi:"翻訳オプションファイル名"
プロジェクトファイルに指定してある翻訳オプション(登録集フォルダおよび登録集名も含む)を無効にし、翻訳オプションファイル に指定した翻訳オプションを有効にします。このオプションが指定されていない場合は、外部COBOLファイルおよびスクリプトのプ ロパティ設定ダイアログボックスで指定されている翻訳オプションが有効になります。
"プロジェクトファイル名"
ビルドまたはリビルドするプロジェクトファイル名です。ただし、PowerCOBOLのV3.0以前のバージョンで作成されたプロジェクトファ イル(拡張子がPRJ)は、指定できません。
復帰値
バッチビルドの復帰値は、以下のとおりです。
- ビルドに成功:0
- ビルドに失敗:1
なお、Iレベル、Wレベルのエラーがある場合、またはすべて更新されている状態でビルドしたときにもビルドは成功します。バッチビル ド完了後、ビルド結果を確認してください。
ポイント
バッチビルドのコマンド指定では、大文字と小文字の区別はありません。
バッチビルドの使用例
バッチビルドの使用例を以下に示します。
・ 1つのプロジェクトファイルを、プロジェクトファイルに指定されているとおりにビルドします。
・ 1つのプロジェクトファイルを、翻訳オプションファイルを指定し、デバッグモードでリビルドします。
・ 複数のプロジェクトファイルをリビルドし、ビルド結果を1つのファイルに出力します。
バッチビルドの使用例1
PowerCOBOLで作成したプロジェクトファイル"C:\PROJ1\PROJ1.PPJ"を、バッチビルドする場合、以下のように指定します。
powercob /build "c:\proj1\proj1.ppj"
バッチビルドの結果("C:\PROJ1\PROJ1.BLG")は、以下のようになります。
コンパイルのための型情報を作成しています...
c:\proj1\Main\Debug\MainForm.cob を作成しています...
最大重大度コードは I です。
c:\proj1\Main\Debug\MainForm.cob をコンパイルしています...
最大重大度コードは I で,翻訳したプログラム数は 1 本です.
c:\proj1\Main\Debug\Main.rc をリソースコンパイルしています...
c:\proj1\Debug\Main.exe をリンクしています...
** ビルドが成功しました **
バッチビルドの使用例2
PowerCOBOLで作成したプロジェクトファイル"C:\PROJ2\PROJ2.PPJ"を、翻訳オプションファイル"C:\PROJ2\PROJ2.CBI"を有効 にして、デバッグモードでリビルドする場合、以下のように指定します。
powercob /rebuild /debug /cbi:"c:\proj2\proj2.cbi" "c:\proj2\proj2.ppj"
エラーがあった場合、バッチビルドの結果("C:\PROJ2\PROJ2.BLG")は、以下のようになります。
コンパイルのための型情報を作成しています...
c:\proj2\sub1\Debug\sub1form.cob を作成しています...
最大重大度コードは I です。
c:\proj2\sub1\Debug\sub1form.cobをコンパイルしています...
** 診断メッセージ ** (SUB1FORM)
sub1form sub1form-Opened(5):JMN2503I-S 利用者語'data1'が定義されていません.
sub1form sub1form-Opened(5):JMN2557I-S DISPLAY文の書き方が不完全です.
最大重大度コードは S で,翻訳したプログラム数は 1 本です.
** ビルドに失敗しました **
バッチビルドの使用例3
複数のプロジェクトファイルを一括してリビルドし、ビルドの結果を1つのファイルに出力する場合は、以下のようなバッチファイ ル"ALLBUILD.BAT"を作成し、実行します。
ECHO OFF
ECHO ##### C:\PROJ1\PROJ1.PPJ ##### >> %2 ECHO POWERCOB /%1 "C:\PROJ1\PROJ1.PPJ"
START /WAIT POWERCOB /%1 "C:\PROJ1\PROJ1.PPJ"
IF ERRORLEVEL 1 ECHO !!! %1 Error !!!
TYPE C:\PROJ1\PROJ1.BLG >> %2
ECHO ##### C:\PROJ2\PROJ2.PPJ ##### >> %2 ECHO POWERCOB /%1 "C:\PROJ2\PROJ2.PPJ"
START /WAIT POWERCOB /%1 "C:\PROJ2\PROJ2.PPJ"
IF ERRORLEVEL 1 ECHO !!! %1 Error !!!
TYPE C:\PROJ2\PROJ2.BLG >> %2
ECHO ##### C:\PROJ3\PROJ3.PPJ ##### >> %2 ECHO POWERCOB /%1 "C:\PROJ3\PROJ3.PPJ"
START /WAIT POWERCOB /%1 "C:\PROJ3\PROJ3.PPJ"
IF ERRORLEVEL 1 ECHO !!! %1 Error !!!
TYPE C:\PROJ3\PROJ3.BLG >> %2
・
・
・ :END
実行するコマンドは以下のようになります。
allbuild rebuild c:\temp\allbuild.blg
実行が終了したら、バッチビルド結果("C:\TEMP\ALLBUILD.BLG")を確認してください。
注意
別のフォルダに移動したプロジェクトファイルをバッチビルドすると、「ビルドまたはコンパイルのために、プロジェクトを保存しますか?」
というメッセージボックスが表示されます。この場合、メッセージボックスに応答しないと処理が進まないため、バッチ的なビルドができな くなります。メッセージボックスを表示したくない場合、オプションのプロパティ設定ダイアログボックスの[ビルド]タブで、[ビルド時に自 動的に保存する]をチェック状態にしておきます。
なお、自動的に保存したくない場合は、チェックをはずすか、プロジェクトファイルの属性を読み取り専用にしてください。
翻訳オプションファイルの作成方法
翻訳オプションファイルを作成するには、WINCOBコマンドを使用します。WINCOBコマンドは、COBOLが提供しているCOBOLソー スを翻訳するコマンドです。このWINCOBコマンドを以下の指定形式で起動すると、[翻訳オプション]ダイアログボックスが表示されま す。ここで翻訳オプションを指定してください。
・ 指定形式:WINCOB -iオプションファイルのパス名
・ 使用例 :WINCOB -ic:\proj2\proj2.cbi
WINCOBコマンドについては、『NetCOBOL ユーザーズガイド』を参照してください。
注意
/cbiオプションを使用して登録集ファイルを変更する場合、翻訳オプションLIBを使用してください。