環境: CS+CPU: RL78/G13
この環境で、作業していますが、仕様の異なるROMイメージを作成する必要があります。違いは、初期値のみで、
仕向けA: RunMode=1, 仕向けB: RunMode=2, 仕向けC: RunMode=3
のような相違のみとなります。CS+のプロジェクトをコピーしても作成できますが、ソース管理上、一つのプロジェクトで管理したいと考えています。サブプロジェクトを作成する方法も使ってみましたが、これだけの違いにしては手間が大きく困っています。
なお、相違箇所については、コンパイルオプション(条件コンパイル)のみで対応できるので、ソースも同一となります。
良い方法がありましたら、お願いします。
KatoNaganoさん、こんにちは。NoMaYです。これはビルドモードを活用してはどうだろか、と咄嗟に思いました。(1) DefaultBuidをBuild_RunMode_1にリネームする(2) Build_RunMode_1のビルドモードをBuild_RunMode_2とBuild_RunMode_3へコピーする(3) Build_RunMode_2とBuild_RunMode_3のマクロ定義を変更する(4) バッチビルドでBuild_RunMode_1とBuild_RunMode_2とBuild_RunMode_3を一括でビルドする(5) 後でマクロ定義以外の部分を3者で共通に変更した時は、ビルド時に生成される○○○.rcpeをスクリプトでビルドモード毎に切り出して、ファイル比較ツールで内容を比較/チェックすると、変更漏れ防止の比較的簡単な処置として使えそうな気がします。(mtpjファイルは、ファイル内部構造が複雑過ぎて、とてもそういったことは出来ないです。) あるいは、ビルドオプション生成機能でも、何かそういった活用方法があるかもしれません。
KatoNaganoさん、こんにちは。NoMaYです。あと、CS+のコンソール版を活用する案もありそうな気がします。ただし、CS+ GUIの外に出ます。IronPythonスクリプトをビルド前に実行出来た筈ですが、そこでマクロ定義を追加することも出来た筈です。ですので、Build_RunMode_1.pyとBuild_RunMode_2.pyとBuild_RunMode_3.pyを作成して、それぞれのスクリプトでマクロ定義追加の設定を変更して、それぞれのスクリプトで3回ビルドする、という案です。こちらは、マクロ定義以外の部分を3者で共通に変更する場合などで、作業漏れを起こすことが無いですので、そういうところが利点かな、と思いました。
NoMayさん、提案ありがとうございます。
ビルドモードについては使ったことが無いので、これから、確認してみます。ちょっと時間が無くなったので、年内に確認できれば、思いますが、よろしくお願いします。
コンソール版については、興味がありますが、自分以外にも作業することを考えるとちょっと微妙。Pythonスクリプトも使ったことが無いし、、、
もっとも昔は、makeで簡単にできた、というのが正直なところ。
今、ちょっと試してみたところ、使えそうです。
ただ、Cleanとかでゴミが残ってるのが、操作ミスか? など気になる点はありますが。次の確認は来週になるかもしれませんが、ありがとうございます。
NoMayさん、こちらの方法で使えるようです。
ゴミの件は、設定変更するとビルドしてないのに、中間ファイル(?)が作成されることがあるようで、これがゴミとなっていました。(設定が変わるので、クリーンでは消えない)設定が確定した時点で、余分なファイル削除での対応