it´s quite simple, in configuration.h you see a lot of #define and values.
Arduino ide does the job to build one hex file picking the selected features and settings from all the firmware files.
this hex file is uploaded to your printer.
so you can say the whole firmware gets uploaded.
There is a little trap in this game.. it´s the eeprom.
after uploading you should use M502 command followed by M500 command to get EEprom updated.
see: https://reprap.org/wiki/G-code</div><div><br/></div><br/>