...
When compiling on Windows, the Atmel provided GCC based tool chain is recommended: https://github.com/eerimoq/avr-toolchain-windows , as the WinAVR contains an old GCC toolchain, which optimizes purely and the resulting binary does not fit the reserved FLASH space.
Programming the Caterina bootloader:
You may try to run
make program
or type
avrdude -p atmega32u4 -P usb -c usbasp -U flash:w:Caterina.hex
FIXME: The current bootloader is part of the "Original Prusa i3 MK3 Multi Material 2.0 upgrade" board definition for Arduino, see below, but the flashing of a boot loader from Arduino does not seem to work correctly. Fix it!
Installing the "Original Prusa i3 MK3 Multi Material 2.0 upgrade" board into Arduino
...
arduino_debug.exe --pref build.path=output --upload --port COMxx --board PrusaResearch:avr:prusa_mm_control -v --preserve-temp-files MM-control-01.ino
Debugging the USB descriptors on Windows:
The following application is useful to inspect USB descriptors: