##  Copyleft 2003  C. Manders,

CC=avr-gcc
OBJCOPY=avr-objcopy
STRIP=avr-strip
UISP=uisp 
OBJDUMP=avr-objdump

##MCU=at90s8515
MCU=atmega48
PROG_METHOD=stk500
PORT=/dev/ttyS0

SRECS=\
	avrlcd.srec\
	$(NULL) 
default: $(SRECS)


avrlcd: avrlcd.o

OBJFILES=$(SRECS:.srec=.o)
ASSEMBLY=$(SRECS:.srec=.asm)

clean:
	rm -f $(SRECS) $(PROGRAMS) $(OBJFILES) $(ASSEMBLY)

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

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

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

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

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

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

program_avrlcd: avrlcd.srec
	$(UISP) -dprog=$(PROG_METHOD) --segment=flash -dserial=$(PORT) -dpart=$(MCU) --erase 
	sleep 1
	$(UISP) -dprog=$(PROG_METHOD) --segment=flash -dserial=$(PORT) -dpart=$(MCU) --upload if=$^
