# Processortyp M fuer Compiler, N fuer avrdude:
#M=atmega8
#N=m8
M=atmega328p
N=m328p

# Compileraufrufe:
C=avr-gcc -mmcu=$M -Wall -Os -c
AS=avr-as
L=avr-gcc -mmcu=$M -Wall -Os

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

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

all: funkuhr2.hex

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

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

fusesetzen-default:
	avrdude -p m8 -c $P -P $(TTY) -U lfuse:w:0xE1:m
	avrdude -p m8 -c $P -P $(TTY) -U hfuse:w:0xD9:m
fusesetzen-default328P:
	avrdude -p m328p -c $P -P $(TTY) -U lfuse:w:0x62:m
	avrdude -p m328p -c $P -P $(TTY) -U hfuse:w:0xD9:m
fusesetzen-quarz:
	avrdude -p $N -c $P -P $(TTY) -U lfuse:w:0xFF:m
	avrdude -p $N -c $P -P $(TTY) -U hfuse:w:0xD9:m
fusesetzen-uhrenquarz:
	avrdude -p m8 -c $P -P $(TTY) -U lfuse:w:0xF9:m
	avrdude -p m8 -c $P -P $(TTY) -U hfuse:w:0xD9:m

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