# der folgende Teil des makefiles wird abgearbeitet wenn man "make all" oder
# einfach nur "make" eingibt
all:

	# hier werden die einzelnen C-Dateien kompiliert; heraus kommt die Datei demo.elf
	# -Os schaltet die Optimierung ein
	# -mmcu=atmega163 gibt an, dass das Programm für einen ATmega163 ist
	avr-gcc -g -o demo.elf -Os -Wall -mmcu=atmega163 demo1.c demo2.c demo2.c demox.c

	# jetzt wird die Hex-Datei zum Programmieren des Controllers erstellt (demo.hex)
	avr-objcopy -O ihex demo.elf demo.hex

	# ... und eine Listingdatei (demo.lst) mit dem vom Compiler generierten Assemblercode
	avr-objdump --source -d demo.elf > demo.lst

	# dann wird noch die Größe angezeigt die im Flash des Controllers belegt wird
	avr-size demo.elf

# "make prog": das Programm in den Controller programmieren (mit avrdude)
prog:
	avrdude -c stk200 -p atmega163 -e -i demo.hex

# "make clean": aufräumen, alle vom Compiler erzeugten Dateien löschen
clean:
	rm -f *.elf *.o *.hex *.rom *.lst
