I have just made a few different targets for a library so that I can compile it for different processors. But when I create a virtual target for ALL to build all the targets, and then select Rebuild for ALL c::b builds one debug and release version and then re-uses those object files for the rest of the targets even though those targets have different compiler options. Below is the output of the Build Log:
-------------- Build: Debug_m640 in bionet ---------------
Compiling: bionet_biometrics.c
Compiling: bionet_gfxmessaging.c
Compiling: bionet_textmessaging.c
Compiling: bionet.c
Linking static library: bin\Debug\libbionet_d_m640.a
avr-ar.exe: creating bin\Debug\libbionet_d_m640.a
Output size is 76.64 KB
-------------- Build: Release_m640 in bionet ---------------
Compiling: bionet_biometrics.c
Compiling: bionet_gfxmessaging.c
Compiling: bionet_textmessaging.c
Compiling: bionet.c
Linking static library: bin\Release\libbionet_m640.a
avr-ar.exe: creating bin\Release\libbionet_m640.a
Output size is 22.01 KB
-------------- Build: Debug_m128 in bionet ---------------
Linking static library: bin\Debug\libbionet_d_m128.a
avr-ar.exe: creating bin\Debug\libbionet_d_m128.a
Output size is 76.64 KB
-------------- Build: Release_m128 in bionet ---------------
Linking static library: bin\Release\libbionet_m128.a
avr-ar.exe: creating bin\Release\libbionet_m128.a
Output size is 22.01 KB
Process terminated with status 0 (0 minutes, 1 seconds)
0 errors, 0 warnings
Build log saved as: C:\firm\projects\bionet\bionet_build_log.html
How does codeblocks decide that these object files are valid? Is there another way I should be doing this?
Thanks in advance!