AVRDIR=/data/ueb/MP09/progmega16/
CC=avr-gcc
OBJCOPY=avr-objcopy
STRIP=avr-strip
UISP=avrdude 
OBJDUMP=avr-objdump

MCU=atmega16

CFLAGS=-Wall -g -O -mmcu=$(MCU) -I$(AVRDIR)/inc/
LDLIBS=-lm

PROG_METHOD=stk500v2
#PORT=/dev/ttyUSB0
PORT=/dev/ttyS0
MCUDUDE=m16

clean:
	rm -f *.o *.bin *.asm *.stripped *.hex

%.o: %.c 
	$(CC) $(CFLAGS) -c -o $@ $^

%.bin: %.o 
	$(CC) -g -O -mmcu=$(MCU) -o $@ $^ $(LDLIBS)

%.asm: %
	$(OBJDUMP) -S -d $^ > $@

%.stripped: %.bin
	$(STRIP) $^ -o $@

%.srec: %.stripped
	$(OBJCOPY) -O srec $^ $@

%.hex: %.stripped
	$(OBJCOPY) -O ihex $^ $@

program-%: %.srec
	$(UISP)  -P $(PORT) -c $(PROG_METHOD) -p $(MCUDUDE) -F  -U flash:w:$^


