Du kannst beim avr-gcc den µC-Typ auch in der Kommandozeile des
Compilers eingeben (avr-gcc -mcu=...). Andere ggf. im Programm benutzte
Parameter wie z.B. die Taktrate können als auch auf der Kommandozeile
definiert werden (-D...).
Allerdings ist es bequemer diese Info im Makefile festzuhalten.
Besonders bequem ist es, wenn ein Hilfsprogramm wie das angesprochene
MFile oder AVR Studio das Makefile erzeugt und die Essentials einträgt.
Insgesamt wird dadurch
1/ intern der entsprechende Codegenerierungspfad ausgewählt
(Befehlssatz, Registermodell, Speicherart und Grösse, etc.) und
2/ extern durch das Include von allgemeinen Architektur-Includedateien
(z.B. für IO) spezielle Architektur-Includedateien automatisch
nachgeladen.
Um 1/ und 2/ letztendlich zu machen, gibt es Hilfsdateien von Atmel in
denen der jeweilige AVR beschrieben ist. Im Normalfall kümmern sich die
Compiler- und Libraryanpasser um diese Dinge und du brauchst dich um
diese Feinheiten nicht mehr zu kümmern.