# Processortyp M fuer Compiler, N fuer avrdude:
M=atmega8
N=m8
M2=atmega32
N2=m32

# Compileraufrufe:
C=avr-gcc -mmcu=$M -Wall -Os -c
AS=avr-as
L=avr-gcc -mmcu=$M -Wall -Os
L2=avr-gcc -mmcu=$(M2) -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: empfangen_rfm12.hex senden_rfm12.hex empfangen_rfm12_4z.hex

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

senden_rfm12.hex: senden_rfm12.cc i2c.c lm75a.c rfm12_modul.c
	$L senden_rfm12.cc -o senden_rfm12.elf
	avr-objcopy -O ihex -R .eeprom senden_rfm12.elf senden_rfm12.hex
	avr-objdump -h -S senden_rfm12.elf > senden_rfm12.lss

empfangen_rfm12_4z.hex: empfangen_rfm12_4z.cc lcdmodul_4z.c rfm12_modul.c
	$(L2) empfangen_rfm12_4z.cc -o empfangen_rfm12_4z.elf
	avr-objcopy -O ihex -R .eeprom empfangen_rfm12_4z.elf empfangen_rfm12_4z.hex
	avr-objdump -h -S empfangen_rfm12_4z.elf > empfangen_rfm12_4z.lss

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

#Atmega8 mit Quarz fuer CPU:
fusesetzen:
	avrdude -p $N -c $P -P $(TTY) -U lfuse:w:0xFF:m
	avrdude -p $N -c $P -P $(TTY) -U hfuse:w:0xD1:m

#Atmega8 mit UHRENQUARZ:
fusesetzen2:
	avrdude -p $N -c $P -P $(TTY) -U lfuse:w:0xE1:m
	avrdude -p $N -c $P -P $(TTY) -U hfuse:w:0xD1:m

#Atmega32 mit 16MHz-Quarz fuer CPU:
fusesetzen4:
	avrdude -p $(N2) -c $P -P $(TTY) -U lfuse:w:0xFF:m
	avrdude -p $(N2) -c $P -P $(TTY) -U hfuse:w:0xC9:m

check:
	avrdude -p $N -c $P -P $(TTY) -v
check4:
	avrdude -p $(N2) -c $P -P $(TTY) -v
install-empf: empfangen_rfm12.hex
	avrdude -p $N -c $P -P $(TTY) -U flash:w:empfangen_rfm12.hex:i
install-send: senden_rfm12.hex
	avrdude -p $N -c $P -P $(TTY) -U flash:w:senden_rfm12.hex:i
install-empf-4z: empfangen_rfm12_4z.hex
	avrdude -p $(N2) -c $P -P $(TTY) -U flash:w:empfangen_rfm12_4z.hex:i
eeinlesen:
	avrdude -p $(N2) -c $P -P $(TTY) -U eeprom:r:eeprom.raw:r
