I recently had an exchange with a reader of my BldDemo article (See Platform Builder: Using BldDemo) that went like this:
Q:   How long is typical time of doing blddemo -q on a core duo with 1GB RAM?   Is an hour acceptable?
 
A:    1. An hour is long, but you don't tell me what version of Windows CE that you are building.

        2. Pauses during sysgen are normal. Honestly, I don't know what is going on during the pause because I have never looked into it, and to me it is not important.

        3. If you are interested in building quicker, you should study my many articles about the build system.

        4. I rarely sysgen, so the time that it takes to sysgen is not important to me.
 
Q:   If my modification is only on project.dat or bib, which build should I do?
 
My first reaction was “haven’t I written about that already?” But it turns out that I have not, so I thought that the best answer to the question is to write about it. To write about it, I will answer the question directly, then ask a few more questions and then answer them.
If my modification is only on project.dat or bib, which build should I do?
Project.dat and project.bib are used during Makeimge (See Platform Builder: Pulling it all together with Makeimg). This is true of all files in the OSDesigns, PBWorkspaces and Platform Files folders. So all we need to do is run makeimg, but first we need to copy the changed files to the _FLATRELEASEDIR (See Platform Builder: What is the _FLATRELEASEDIR?).
You could use BuildRel (see Platform Builder: Using Bldrel) to copy the files, or faster copy the files using the command line or Windows Explorer.   You can avoid the copy step altogether by deleting the environment variable BUILDREL_USE_COPY.
I changed an environment variable, what should I build?
This one isn’t as easy because it depends on the environment variable. So, when in doubt run a clean Sysgen (blddemo clean –q) (See Platform Builder: When to do a clean build?). But if you know, then you should know what to build. Here are some rules of thumb:
1.       SYSGEN variable – run a clean sysgen
2.       IMG variables – for the most part, you can just clean build your Platform (See Platform Builder: Using Build.exe) and run makeimg, but even building the platform may not be necessary. Depends on what the variable does in your platform.
3.       BSP variables – again, depends on your platform.
I changed a driver in the Public tree, what should I build?
Don’t change code in the Public tree, clone it to your project or platform first (See Platform Builder: Clone Public Code).
I changed a driver in my Platform, what should I build?
I changed code in my bootloader, what should I build?
 
For more on the Platform Builder build system take a look at: Summary of Building Windows CE which lists the articles that I have written about building Windows CE using Platform Builder.
 
Copyright © 2009 – Bruce Eitman
All Rights Reserved