Our SetupC installs our automatic make IDE called MakeItC. MakeItC will start with your C file that typically includes the main() routine. It uses the pre-processor to scan all #include files. Any header .h file found will be further inspected. If there is a corresponding .c file with the same name, that file will be added to the list of files to compile and link. If there is just a .o file with that name it will be added into the list of files to be linked. This is a recursive scan so it also scans those included files and any of their included files... Then a batch file to compile and link all those files is built and executed. Also a copy named MakeItC.log is saved in the directory of your initial file.
MakeItC will also show all these files in the File -> Show Project menu item. Shown below
MakeItC also installs version 4.6.2 of gcc. We spent a lot of time pruning the gcc version we install so that it is relatively small but includes all the features C programs need. Until recently there was not much reason to update gcc. Now new versions of ARM Cortex parts are becoming available, such as the M33 and M7. We are not going to update MakeItC, BUT we do now support newer versions of gcc.
To update gcc, go to Gnu GCC site. Chose a release and install it.
After that there is a new MakeItC option (pictured above). Under Options -> Settings -> Choose gcc
You can then select the gcc version you just installed. We have found choosing the arm-none-eabi-gcc-X.Y.Z.exe works best. X.Y.Z depends on the version you just installed.
MakeItC will now use the new version and you can verify that with the Help -> About MakeItC option, pictured below.
I've always said and thought that for a tool to be useful, the designers themselves must use it. And we do for our BASIC firmware, which in the case of the LPC1768 mbed, includes the BASIC runtime, UART handlers, Ethernet handler with email, http client, http server, ftp server, SD card interface with files system support and a BASIC online compiler. So this has gotten to be a pretty big project for a few guys (well over 30K lines of code and counting).