I now have CEWSDLGen for Windows CE 5.0 up and running, this integrates nicely with the new Windows CE 5.0 build system - initially I didn't like the change from the 4.2 CEC format to the new 5.0 'sources only' build system - I thought it was neat that the CE 4.2 .CEC file could directly contain dependency information, and also build rules, I really liked the #COPY option, this made it simple for a developer to build a stand alone component that contained the dependency information and also the build rules for the component (if shipping source) - Now that I've had some time to work on CEWSDLGen 5.0 I now really like the new build system that's shipping with Windows CE 5.0 - the 4.2 CEC format had some issues, for example, the 4.2 CEC could contain a BIB Record (great for directly including files into the o/s), but didn't have records for DB, REG, or .DAT files, you needed to call out to a custom batch file to copy these extra files to the right place and merge their content with the rest of the o/s.
With Windows CE 5.0 the .CEC file doesn't contain any build logic, dependency logic, or the ability to call out to external commands - the really nice feature is that my project can contain REG, DB, DAT, BIB files, all of which get directly integrated into the o/s image - it gets better than that though... I also need to include dependency information for my XML Web Service component, the new build system gives me the ability to include dependency information, and to also call out to an external batch file (to copy my pre-built DLL's and WSDL/WSML to the build release folder) - I'm thinking I should devote one of the MSDN "Get Embedded" articles to cover this topic.
In a nutshell, here's what's new... My project contains a pre-built .DLL file and a WSDL/WSML file, so I create a .CEC to wrap up this new feature so that it appears in the catalog, the .CEC file points to my project folder and the new PBPXML file. My project folder contains the following.
makefile - makefile for the project
sources - using the new TARGETTYPE=NOTARGET (we're not building anything, right?) - also, the sources file contains the following two lines - POSTLINK_PASS_CMD=postlink.batPRELINK_PASS_CMD=prelink.bat
I can include any additional commands I need in the postlink.bat (try adding notepad.exe, you will see notepad is launched when your project is 'built').
The project folder also contains my BIB, REG, DAT, and DB files, and the new project level SYSGEN file - projsysgen.bat - this is where I get to set the environment variables for my project.
The new build system gives me everything I need to include pre-built application/driver components into the catlog - obviously there's more to it than is included in this blog post, I will start on the MSDN article to walk the steps, and also release the CEWSDLGen tool so you can start playing...