Here's a really basic project management task I just can't figure out to do properly in uVision. I want to build two executables, with minor differences between them. Differences are encapsulated in library code. The projects that produce executables have a few extra files (main, STARTUP.A51, build date, etc), plus the library. The library project has two targets, and produces two libraries, with two different names, one for each variant. The executable projects also have two targets, and are identical except for the library with which they link. In other words, all I need to do is supply a different library to each target in a project. I can't add files directly to the target. They have to go into a group. If I make a group to hold a library file, it's shared between all targets in the project, and so both libraries appear in both targets. Changes to one target change the other target. This is a pretty elementary task, but I can't see how to do this without creating a separate project for every executable, so they can each have their own independent list of files, just so they can use different libraries. (This would be undesirable for maintence reasons, as all the other files are common, and I would rather not have to update four projects every time I add a file.) I get the impression I'm not using uVision the way it was intended, or else I'm overlooking something. What? (While I'm on the subject: I'd prefer the targets to all be listed in the tree view, rather than have a pulldown list for the top level of the tree, with a seperate tree view. That is, something that looks like:
+ Target1 - Target2 - Group1 - File1 - File2 + Group2