MENU

特集 IBM i Project ExplorerとBobを使用したRPG開発 <Part5>IBM i Project Explorerを使用したローカル開発 ~⑤プロジェクトの設定変更

ソース・ライブラリーの移行時に自動生成された設定ファイルの内容に、いくつか不足があるので追記する。

ソース・ディレクトリーの追加 

プロジェクトのルート・ディレクトリーにあるRules.mkのSUBDIR宣言には、ソース・ファイルが格納されているサブ・ディレクトリーを記述する。

図表1 ルート・ディレクトリーのRules.mk

今回、QRPGLESRCが空だった影響なのか、QRPGSRCの記述が漏れてしまっているので、これらを追記して保存する。

図表2 ルート・ディレクトリーのRules.mkにソース・ディレクトリーを追記

コンパイル先ライブラリーの設定

今回のプロジェクトでは、データベース・ファイルはライブラリーSATOHBOBDに、それ以外のオブジェクトはSATOHBOBOに作成する必要がある。これは、各サブフォルダー内の「.ibmi.json」にbuild.objlibの値を追加することで指定できる。

図表3 QCLSRC/.ibmi.jsonの変更
図表4 QDDSSRC/.ibmi.jsonの変更
図表5 QDSPSRC/.ibmi.jsonの変更
図表6 QPRTSRC/.ibmi.json
図表7 QRPGLESRC/.ibmi.json
図表8 QRPGSRC/.ibmi.json

Rules.mkの追加・編集 

理由は不明だが、QRPGLESRCディレクトリーとQRPGSRCディレクトリーには、Rules.mkファイルが自動で作成されなかったので、手動で作成する。

図表9 Rules.mkファイルを手動で作成

QRPGLESRCディレクトリーにはソース・ファイルがないので、Rules.mkファイルには何も記述する必要はない。

QRPGSRCディレクトリーにはソース・ファイルが3つあるので、Rules,mkファイルに次の3行のルールを追記して保存する。

ルールの書き方を簡単に説明すると、まずオブジェクト名を記述し、続けてコロンとスペースを記述する。次にオブジェクトのソース・ファイル名を記述する。

オブジェクトが他のオブジェクト(参照ファイル、呼び出しプログラム)やソース・ファイル(インクルード)に依存している場合は、それらをスペースで区切って末尾に追記する。これにより、依存先のソース・コードが変更されたときに、自動的にコンパイルが行われるようになる。ここでは、F仕様で定義されているファイル名を記述している。

図表10 QRPGSRCディレクトリーのRules.mk

ライブラリー・リストの設定

プロジェクト・エクスプローラーの「Library List」を展開すると、現在のライブラリー・リストが確認できる。

図表11 プロジェクトのライブラリー・リスト

プロジェクトのライブラリー・リストの初期値は、IBM iに接続しているユーザー・プロファイルのライブラリー・リストとなっている。今回のプロジェクトでは、SATOHBOBDとSATOHBOBOの2つのライブラリーがライブラリー・リストに追加されている必要がある。ライブラリー・リストにライブラリーを追加するには、「Add Library List Entry」アクションをクリックする。

図表12 ライブラリー・リスト項目の追加アクション

ライブラリー名を入力してEnterを押下する。まずSATOHBOBDを入力する。

図表13 追加するライブラリーの入力

ライブラリー・リストの先頭に追加するか、末尾に追加するかを聞かれるので、どちらかを選択する。今回は先頭に追加したいので、「Beginning of Library List」を選択する。

図表14 ライブラリーを追加する位置の選択

ライブラリー・リストの表示が自動的に更新され、ライブラリー・リスト(ユーザー部分)の先頭にSATOHBOBDが追加される。

図表15 ライブラリー・リストにSATOHBOBDが追加

ライブラリー・リストの先頭に追加したライブラリーは、iproj.json内のpreUsrlibl設定の値として保存される。

図表16 iproj.jsonに自動的に追記されたpreUsrlibl

このファイルを直接編集することでも、設定変更が可能である。SATOHBOBDの後ろにカンマで区切ってSATOHBOBOを追記して保存する。

図表17 iproj.jsonのpreUsrliblにSATOHBOBOを追記

2025年7月現在、IBM iプロジェクト・エクスプローラーのライブラリー・リストの追加アクションは正常に機能しない場合があるようなので、iproj.jsonを直接編集する方法を推奨する。

ビルド・コマンド、コンパイル・コマンドの設定

ビルドという用語について簡単に説明しておく。

IBM iプロジェクトでは、従来のPDMのように特定のソースを1つずつ指定してコンパイルする、というアクションも実行できるが、各ソースのコンパイル時のルールやオブジェクトの依存関係を設定ファイルに記述しておくことで、プロジェクト全体をまとめてコンパイルできる。この行為を「ビルド」と呼ぶ。

IBM iプロジェクトでビルドを行うには、ビルド・コマンドを設定する必要がある。また、プロジェクト全体でなく、プロジェクト内の特定のオブジェクトを指定してビルドを行うには、ビルド・オブジェクト・コマンドを、特定のソースを指定してコンパイルを行うにはコンパイル・コマンドを設定する必要がある。

ビルド・コマンドを設定するには、Project Explorerでプロジェクトを右クリックし、ポップアップ・メニューから「Set Build Command」をクリックする。

図表18 ビルド・コマンドの設定

ビルド・コマンドの初期値として「makei build」が入力されているので、そのままEnterを押下する。

図表19 ビルド・コマンドの入力

ビルド・オブジェクト・コマンドを設定するには、Project Explorerでプロジェクトを右クリックし、ポップアップ・メニューから「Set Build Object Command」をクリックする。

図表20 ビルド・オブジェクト・コマンドの設定

ビルド・オブジェクト・コマンドの初期値として「makei b -t {object}」が入力されているので、そのままEnterを押下する。

図表21 ビルド・オブジェクト・コマンドの入力

コンパイル・コマンドを設定するには、Project Explorerでプロジェクトを右クリックし、ポップアップ・メニューから「Set Compile Command」をクリックする。

図表22  コンパイル・コマンドの設定

コンパイル・コマンドの初期値として「makei compile -f {filename}」が入力されているので、そのままEnterを押下する。

図表24 iproj.jsonに自動的に追記されたビルド・コマンドとコンパイル・コマンド

これらの設定値は、プロジェクトのルート・フォルダー配下のiproj.jsonに追記される。

——————————

Better Object BuilderもしくはBobは、2025年10月にリリースされたIBM Project Bobとの混同・混乱を避けるため、2025年12月に「TOBi」(The Object Builder for IBM i)へと名称が変更されました。ただしここでの記事は従来どおり、Bobと明記していることをご了承ください。

著者
佐藤 尚氏

ソリューション・ラボ・ジャパン株式会社
第1サービス事業部 第3サービス部 第1グループ

AS/400ユーザーの情報システム部門を経て、2006年にソリューション・ラボ・横浜(現ソリューション・ラボ・ジャパン)に入社。主にIBM iを中心に他のプラットフォームとの連携を行うシステムの設計・開発を行う。近年はシステム開発の傍ら、IBM i技術者向け研修サービスの講師を担当している。

 

[i Magazine・IS magazine]

新着