Atmel Studio uses the GCC toolchain and GNU make. Presumably ICCAVR is using a different toolchain. Your options appear to be:
Keep the ICCAVR toolchain and integrate it into Atmel Studio if you
can get the HEX and ELF files required for programming and
Migrate to the GCC toolchain in which case take it slow,
move one module across at a time and ...
It relies on the fact that CPU starts executing at location 0, and since no interrups are used, there is no need for the vector table and code can be put there. In general that is not a suggested way of doing things, but with this specific AVR model and with this specific code it works. So it is a bad example for serious engineering work, but sometimes when ...