# Processortyp M fuer Compiler, N fuer avrdude:
#M=atmega8
#N=m8
M=atmega328p
N=m328p
# 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
# fuer avrdude-Aufruf unter MacOSX:
#TTY=/dev/tty.serial-0001

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

all: gpsmodul.hex gpskompass.hex

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

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

lcdmodul2.o:  lcdmodul2.h lcdmodul2.cc
	$C lcdmodul2.cc -o lcdmodul2.o

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

# Fuses fuer Quarz, fuer ATmega8 oder ATmega32 oder ATmega328P:
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

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

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

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