各サブフォルダーに追加されたファイルを順番に見ていこう。
ルート・ディレクトリー
プロジェクトのルート・ディレクトリーには、プロジェクト作成時に追加された.gitignoreとiproj.jsonのほかに、.envとRules.mkというファイルが追加されている。

順番に中身を確認していく。
① .env
このファイルの内容は、図表2のとおりである。

他の設定ファイル(iproj.jsonやibmi.jsonなど)では、いくつかの設定項目(例えばコンパイル先ライブラリーなど)に変数を使用できる。このファイルの目的は、その変数に割り当てる値を指定することである。
変数に割り当てる値は、開発者ごとに異なる場合があるため、このファイルはGit管理下に置かないようにする。デフォルトでLIBLという変数が追加されている。
② .gitignore
このファイルは、プロジェクトをGit管理下に置いた際に、特定のファイルやディレクトリーをGitの管理対象から除外するための設定ファイルである。現時点では.logsディレクトリー、.evfeventディレクトリー、.envファイルが管理対象外となっている。

③ Iproj.json
このファイルは、プロジェクト全体で参照する設定値を格納する。現時点ではプロジェクト作成時に設定したdescriptionのみが記述されている。

④ Rules.mk
このファイルは、プロジェクトの構造やコンパイル時のルール、オブジェクトの依存関係などを記述する。現時点では、ビルド対象のソースが格納されているサブ・ディレクトリーを記述するためのSUBDIRS宣言のみが含まれている。

サブ・ディレクトリー
各サブ・ディレクトリーには、「.ibmi.json」と「Rules.mk」の2つの設定ファイルが追加されている。これらのファイルは、それぞれルート・ディレクトリーの「iproj.json」と「Rules.mk」の内容を拡張または上書きする。ファイルの内容を順番に確認する。

❶ QCLSRC/.ibmi.json
変換元のソース物理ファイルのCCSIDが5026だったので、tgtCcsidとして5026が設定されている。

なお、自動生成された.ibmi.jsonの内容はすべて同一だったので、以後は内容の確認を割愛する。
❷ QCLSRC/Rules.mk
作成するオブジェクトと使用するソース・ファイルが記述されている。

❸ QDDSSRC/Rules.mk
作成するオブジェクトと、使用するソース・ファイルが記述されている。論理ファイルの場合は、基礎となる物理ファイルも記述されている。

❹ QDSPSRC/Rules.mk
作成するオブジェクトと、使用するソース・ファイルが記述されている。

❺ QPRTSRC/Rules.mk
作成するオブジェクトと、使用するソース・ファイルが記述されている。

——————————
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]







