Platform Builder 6.0でのビルド時間の短縮方法
iMac+Parallels+Platform Builder 6.0でEnterprise Web Padのビルドを行った場合、約90分の時間が掛かってしまいます。この90分という時間は、開発の現場においてはかなり問題があります。仮にベースをParallelsからPC+WinXPにしても、実際のビルドでは10分程度掛かることはWinCEの開発環境では珍しい話ではありません。この時間を短縮することは開発の効率を向上させることにつながります。
少し慣れた人がよく使っている手段としてコマンドビルドによる時間短縮があります。WinCEの開発環境はWinCE5.0からコマンドビルドエンジンに“Thin Layer”と呼ばれるUI Wrapperを被せたものがIDEツールとして提供されています。すなわち一般にPlatform Builderと呼ばれるIDEのビルドエンジンと、コマンドビルドのエンジンは同じものです。したがってこのコマンドビルドを積極的に活用することで、ビルドの時間を短縮することが可能になります。
最初にWinCEのビルドステップを把握しておくと理解しやすいと思います。WinCEのビルドは以下のステップで行われます。
- Sysgen:OSモジュールの再構築を行います。
- Build:ユーザーモジュールのコンパイルを行います。
- Buildrel:使用するバイナリファイル、構成ファイルを%_FLATRELEASEDIR%ディレクトリにコピーします。
- Makeimg:オブジェクトをリンクします。
この流れで考えると、修正を加えたモジュールだけをコンパイルし(手順2)、%_FLATRELEASEDIR%ディレクトリにコピーし(手順3)、Nk.binとして再リンクすれば(手順4)新しいOSイメージが出来上がることがわかります。
具体的にPB6.0を使って、その手順を確認してみます。前提としてすでにOSイメージができていて、その一部を修正することにします。
- コマンドプロンプトを開きます。「Build」メニュー - 「Ope Release Directory in Build Window」を選択してください。
- コマンドプロンプトでビルドをしたいモジュールのディレクトリに移動します。例としてデバイスエミュレータのキーボードドライバをビルドしてみます。PBをC:\WinCE600にインストールしている場合、そのディレクトリはC:\WINCE600\PLATFORM\DEVICEEMULATOR\SRC\DRIVERS\KEYBDになります。Makeimgを実行するためにRelease Directoryに戻ってくる必要がありますので、pushd %_TARGETPLATROOT%\src\drivers\keybdと入力することがお勧めです。
- 環境変数WINCERELが1であることを確認してください。このWINCERELが1の場合、ビルドをすると自動的に生成されたオブジェクトがRelease Directoryにコピーされます。WINCERELに値がセットされていない場合は「set WINCEREL=1」と設定するといいでしょう。
- 対象モジュールのソースを変更したら「build -c」と入力し、クリーンビルドを行ってください。
- ビルドが正常に終わったらRelease Directoryに移動してください。項番2でpushdを使用した場合はpopdでRelease Directoryに戻ります。
- Release Directoryでビルドしたオブジェクトファイルの日付を確認してください。ビルドした時間が表示されます。
- 「makeimg」と入力してください。OSイメージ(Nk.bin)が生成されます。
実際にソース修正以外のbuild → オブジェクトコピー → makimgを行うだけで、その時間は私の環境(iMac+Parallels+WinXP Pro)では約2分で終了しました。IDEを使ってビルドする時と比べると、圧倒的な時間短縮につながっています。
最後に付けたしですが、この手法はPB5.0でも基本的には一緒です。
« iMac/Windows環境下でのキーボード設定 | Main | Parallels上でのリモートデスクトップ »
The comments to this entry are closed.
« iMac/Windows環境下でのキーボード設定 | Main | Parallels上でのリモートデスクトップ »
Comments