Hello.
Is it possible to have multiple targets in a single Project, where different projects include files that have the same name, but are located in different directories?
The files are different, btw. I'm using uVision 3 & PK51.
E.g.
Project 1: path_name\src_thin\dir.c, path_name\src_thin\file.c, etc.
Project 2: path_name\src_sthin\dir.c, path_name\src_sthin\dir.c, etc.
I've tried this, but even if I don't allow a file (e.g. Project 1's dir.c) to be included in the build of Project 2, I cannot add another same-named-but-different-and-in-a-different-directory file to Project 2 -- uVision complains that the file is already in the project.
IOW, it seems the uVision supports symbol links but only as far as file names, and not filenames with full paths ...
Please confirm this problem, or suggest a workaround (using just one Project, but multiple targets).
Thanks,
IOW = In Other Words...?
or maybe
I/O Write...?
In Other Words
"[changing file names is] not feasible in this case, as the source files are not mine, and must be kept in their original state so as to support future and regular updates from the provider"
It shouldn't be that hard to knock-up a little script or batch file that takes the "delivered" structure and produces a "working copy" with unique names?
As you have observed, it is a limitation of uVision that it requires unique file names; so you're stuck with choosing between the lesser (for you) of two evils:
1. Renaming the files; 2. Having separate Projects.
Or just abandon using uVision's weak Project management facility, and use an exetrnal makefile. Or some other IDE...
Have you fed this back to the supplier of the files? If they are intended for use in this environment, they should be aware that their choice effectively rules-out one of the major players...
My impression is that most of their users work from source code ... of course I have to be the exception, as I generate libraries for distribution ... :)
Anyway, right now I'm running separate projects.
I will note that most of the other IDEs I regularly work with (e.g., IAR EW, Microchip MPLAB, Rowley CrossStudio, IIRC AVR Studio) do not have this limitation ... they use full-length file handles per file, that include the pathname as well as the filename.
Anyway, thanks for the (very) quick responses. I even looked in the raw uV2 files to see if there was a way to do it by editing, but the file structure suggested to me that there wouldn't be ...
To me, the file seems not too hard to patch. But I would instead go the route of having a script copy files to their expected directory/name. Remember that the project settings allows you to run your own programs before compilation of a C/C++ file, or before build/rebuild or after build/rebuild.
But I can only agree that I would have liked Keil to upgrade their project handling to be a bit more conventional. I would have liked automatic builds of multiple targets, and to set one target as a prerequisite for one or more other targets.