PROJ   = start

SRCS =  $(PROJ).c buffer.c uart.c rprintf.c
OBJS =  $(SRCS:.c=.o)
TARG =  $(PROJ).hex
TRGT   = avr-
CC     = $(TRGT)gcc
BIN    = $(TRGT)objcopy
INCLAST= -I$(AVRLIB)
%hex: %elf
	$(BIN) -j .text -j .data -O ihex $< $@

%o : %c
	$(CC) -c $(CPFLAGS) $(INCLAST) $< -o $@

%elf: $(OBJS)
	$(CC) $(OBJS) $(LDFLAGS) $(LIBS) -o $@

MCU=atmega128
MCFLAGS  = -mmcu=$(MCU)
CPFLAGS  = $(MCFLAGS) -Os -Wall  -Wstrict-prototypes -Wa,-ahlms=$(<F:.c=.lst)
LDFLAGS  = $(MCFLAGS) -Wl,-Map=$(PROJ).map,--cref

all: $(OBJS) $(TARG)

clean:
	-rm -f $(OBJS)
	-rm -f $(TARG)
	-rm -f $(PROJ).eep
	-rm -f $(PROJ).obj
	-rm -f $(PROJ).map
	-rm -f $(SRCS:.c=.lst)
	-rm -f $(SRCS:.c=.bak)
	-rm -f $(SRCS:.c=.i)
	-rm -f $(WEBFILE)
