The rule of thumb, and this applies to any OS and compiler, when using make (or nmake) is that if you change a file that is being built then you can generally just build.  But if you are changing something that make doesn't do a dependency check on, like a makefile or an environment variable, then you need to do a clean build.

The reason is that make does dependency checks based on file timestamps to decide what to rebuild.  Changing environment variables does not change timestamps.

Selecting different Catalog items is really just a GUI wrapping the setting/clearing of environment variables, so do a clean build.  There may be some exceptions where the variable only changes the makeimg results, but when in doubt, clean before building is your friend.

I see engineers struggle with this very often.  They do something like switch from RAM base registry to hive based registry and do a quick build.  That just doesn't work, and in this case it can be confusing because some of the features change, like the makeimg output includes registry hives, but the code that uses them just isn't in Filesys.

Go to Summary of Building Windows CE

Copyright © 2008 – Bruce Eitman
All Rights Reserved