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.
Sure - compile each source file to an object file, and then link all of the object files to form the executable. Objects can both import and export symbols, so that should be no problem. For each file changed you should have to recreate a single object and then just rerun the link step.
For each of the source file compiles call "armcc" with "-c" option; this tells the compiler to compile the file but not to link it, so it can have symbols it exports and symbols which is it missing and will need in future from other objects. The output from each invocation of the tools will be an ELF object.armcc foo.c -c -o foo.oarmcc bar.c -c -o bar.o... etc ...Once you have built all of your objects link them with "armlink" to get the ELF executable:armlink foo.o bar.o -o example.exe
armcc foo.c -c -o foo.oarmcc bar.c -c -o bar.o... etc ...
armlink foo.o bar.o -o example.exe
Once you have complied things to an executable no symbolic information is exported, so an ELF executable cannot be an input to a link step.You original question was around trying to avoid recompiling everything if only a few files have changed - build tools like GNU Make will only rebuild what has changed, and reuse the old output objects if the file has not changed. I'd suggest investigating that type of Build tool - it does exactly what you are trying to do ...Iso