# Processortyp M fuer Compiler, N fuer avrdude:
M=atmega328p
N=m328p
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)
L=avr-gcc -Isd_karte -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: logger.hex logger2.hex
#all: logger2.hex

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

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

fuse-setzen:
	avrdude -p $N -c $P -P $(TTY) -U hfuse:w:0xD2:m  #mit Bootloader, mit EESAVE

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

arduino-version:
	mkdir arduino-version
	cp -p logger.cc arduino-version/logger.ino
	cp -p rtc.c arduino-version/
	cp -p rtc.h arduino-version/
	cp -p lcdmoduli2c.c arduino-version/
	cp -p lcdmoduli2c.h arduino-version/

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

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

eeprom-einlesen:
	avrdude -p $N -c $P -P $(TTY) -U eeprom:r:eeprom.raw:r  #funktioniert mit avrdude6.2 nicht korrekt!
eeprom-hex:
	avrdude -p $N -c $P -P $(TTY) -U eeprom:r:eeprom.hex:i  #funktioniert mit avrdude6.2 nicht korrekt!


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