# Processortyp M fuer Compiler, N fuer avrdude:
M=atmega1284p
N=m1284p
FCPU=20000000UL  #mit 20MHz Quarz

# Compileraufrufe:
C=avr-gcc -mmcu=$M -Wall -Os -c -DF_CPU=$(FCPU) 
A=avr-as
L=avr-gcc -mmcu=$M -Wall -Os -DF_CPU=$(FCPU) 
L3=avr-gcc -mmcu=$(M3) -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: sensor.hex

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

i2c.o:  i2c.h i2c.c
	$C i2c.c -o i2c.o

bme280.o:  bme280.h bme280.c
	$C bme280.c -o bme280.o

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

checkfuses:
	avrdude -p $N -c $P -P $(TTY) -U hfuse:r:-:h -U lfuse:r:-:h

# Fuses fuer Quarz, fuer ATmega8, ATmega32, ATmega328P, ATmega328PB, ATmega1284P:
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
#	avrdude -p $N -c $P -P $(TTY) -U hfuse:w:0xD9:m

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

install3: irsender.hex
	avrdude -p $(N3) -c $P -P $(TTY) -U flash:w:irsender.hex:i

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