AVRDIR=/data/MP/mega644/
CC=avr-gcc
OBJCOPY=avr-objcopy
STRIP=avr-strip
UISP=avrdude 
OBJDUMP=avr-objdump

MCU=atmega644

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

PROG_METHOD=stk500v2
PORT=/dev/ttyS0
MCUDUDE=m644

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:$^


