ビルドが2回繰り返されるのですが・・・

CubeSuite+(V2.01.00)環境下で、RX-CC(V2.00.01)にてコンパイルを行っています。

リビルドを実行すると、コンパイル・リンクが2回ずつ実施され、\Debugフォルダ内と、\Debug\1stフォルダ内に、それぞれ*.map、*.motファイルが生成されます。

その生成ファイルの内容が異なっているので、*.mapを比較したところ、\Debug\1st内のmapファイルに、以下の2点が余分に記載されていました。

-nodebug
-map=Debug\1st\Project.bls

 

つきましては、下記について教えていただけると助かります。

 ・どちらの生成ファイルを使用すればいいのか

 ・なぜ、2種類のファイルが生成されるのか

 ・どのように対処すれば、生成ファイルを1種類にできるのか

  • [外部変数アクセス最適化を行う](-map)オプションが有効になっているからではないでしょうか。
    この最適化は 1回目("1st")のビルドで生成されたファイルを元に2回目のビルドで最適化を行っていますね。
  • > ・どちらの生成ファイルを使用すればいいのか

    お好みの方を。

    > ・なぜ、2種類のファイルが生成されるのか

    最適化レベルをMax(-optimize=max)に設定していて、外部シンボル割り付け情報ファイルが作成され、それを基に大域的な最適化が行われているからでしょう。

    > ・どのように対処すれば、生成ファイルを1種類にできるのか

    共通オプションの「最適化レベル」を「Max(-optimize=max)」以外に変更し、リンク・オプションの「外部シンボル割り付け情報ファイルを出力する」を「いいえ」にする。

  • 回答どうもありがとうございました。
    ビルド設定を調べたところ、[外部変数アクセス最適化を行う]オプションが有効になっていました。