# Processortyp M fuer Compiler, N fuer avrdude:
M=atmega1284p
N=m1284p
# Compileraufrufe:
C=avr-gcc -mmcu=$M -Wall -Os -c
#A=avr-as
L=avr-gcc -mmcu=$M -Wall -Os

# fuer avrdude-Aufruf unter Linux:
TTY=/dev/ttyUSB0
TTY1=/dev/ttyUSB1
# fuer avrdude-Aufruf unter MacOSX:
#TTY=/dev/tty.serial-0001

# verwendeter Programmer:
#P=avr910  #fuer mySmartUSB MK2
P=stk500v2 #fuer mySmartUSB light

all: robot.hex

robot.hex: robot.cc
	$L robot.cc -o robot.elf
	avr-objcopy -O ihex -R .eeprom robot.elf robot.hex
	avr-objdump -h -S robot.elf > robot.lss

check:
	avrdude -p $N -c $P -P $(TTY) -v
check2:
	avrdude -p $N -F -c $P -P $(TTY) -v

# Fuses fuer 20MHz Quarz, fuer ATmega1284P:
fusesetzen:
	avrdude -p $N -c $P -P $(TTY) -U lfuse:w:0xFF:m
#	avrdude -p $N -c $P -P $(TTY) -U hfuse:w:0xD9:m  #EEPROM wird geloescht
	avrdude -p $N -c $P -P $(TTY) -U hfuse:w:0xD1:m  #EEPROM nicht loeschen

install: robot.hex
	avrdude -p $N -c $P -P $(TTY) -U flash:w:robot.hex:i

installusb1: robot.hex
	avrdude -p $N -c $P -P $(TTY1) -U flash:w:robot.hex:i

clean:
	rm -f *~ *.o *.elf
clean_all:
	rm -f *~ *.o *.elf *.lss *.hex
