We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I'm trying to build a simple batch file script to autobuild the entire application, which contains multiple projects, and multiple targets in many projects. If I just write the batch file to call uv2 for each project/target in turn, it looks like it opens up a bunch of UV2 windows, starts compiling everything, and then after a few seconds C51 crashes. A makefile approach would really be better, since everything is built in order, but I obviously don't want to write and maintain those files. It seems that the problem with UV2 is when a number of projects are built up at once. But is there any way to build multiple projects from a batch file, and build them one at a time (i.e. wait for one project/target to build before moving to the next)?
Thanks. I decided to watch the .plg file to detect when its finished, and parse the file to determine if it had errors or not. Why won't Keil just support writing makefiles? It can't be that difficult, and it seems lots of other people ask for it too. This way seems like a hack to get around a deficiency in the software. I did not want to find the uv2 window and monitor it to see when it closed (I did that awhile ago with another program, and it just felt like such bad black magic to me. Not a bad idea, but I also didn't want to spend anywhere near that amount of time on it). Sure, we can all work around it with our various techniques, but I bought this product so I could build MY product, not so I could re-learn my tool writing skills for features I feel I already paid for. Sorry; mini-rant. Thanks
"Why won't Keil just support writing makefiles?" There's nothing to stop you writing makefiles, but the whole point of an IDE like uVision is that you don't have to! All the tools (C51, A51, BL51) can be called from the command line - so you can put those command lines into a makefile if you wish. Why is your build so complicated? None of the IDEs I've used (including ARM, MSVC, Borland C++ Builder) would do your multiple Project thing! - the whole concept of a "Project" is that it describes your full build?
I could write/maintain makefiles, but I've VERY lazy. I just want to use them. :) I agree IDEs should do this kind of thing and make makefiles obsolete. And actually, MSVC and Watcom (I miss you) both handle it well. In MSVC you have a 'project' file for each library/dll/exe, and then you just lump all those together into a 'workspace' file, which defines the entire "Project" as we're calling it. Watcom had the same type of thing, defining 'target' files for each lib/..., and then just lumping the targets all into a single project file. Its this complicated because we have core libraries that all our products use, and then the application code for each. Obviously its easier to define the core libraries in one place, and just have the Project pull it all together (libs and it's app source files).