Der Fehler mit der fehlenden Definition von main sieht danach aus das etwas mit dem Makefile nicht stimmt. Wenn man AVRstudio benutzt wäre das das eintragen der Files die zum Code gehören und die Markierung es "Startfiles".