# Processortyp M fuer Compiler, N fuer avrdude:
M=atmega32u4
N=m32u4
FCPU=16000000

# Grosses Testboard:
#M=atmega2560
#N=m2560
#FCPU=16000000

C=avr-gcc -mmcu=$M -Wall -Os -c
AS=avr-as
#L=avr-gcc -mmcu=$M -Wall -Os
L=avr-gcc -mmcu=$M -Wall -Os -DF_CPU=$(FCPU)

# 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: lcdtest.hex spritzpump.hex
all: spritzpump.hex

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

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

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

fuse-setzen:
	avrdude -p $N -c $P -P $(TTY) -U hfuse:w:0xD0:m  #mit Bootloader, mit EESAVE
#	avrdude -p $N -c $P -P $(TTY) -U hfuse:w:0xD1:m  #ohne Bootloader
#	avrdude -p $N -c $P -P $(TTY) -U hfuse:w:0xD9:m  #ohne Bootloader, ohne EESAVE
#	avrdude -p $N -c $P -P $(TTY) -U lfuse:w:0xFF:m

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

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

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