Da die io.h und interrupt.h im Code enthalten sind, denke ich eher, dass im makefile kein Mega8 angegeben ist, sondern ein anderer AVR, der andere Registernamen fürs UART besitzt...