diff --git a/avr/Makefile b/avr/Makefile index 411c59f..c6b3128 100644 --- a/avr/Makefile +++ b/avr/Makefile @@ -2,12 +2,18 @@ include ../mk/build.mk INCLUDE_PATH = ../include HEADER_SUBDIR = tabby - CROSS = avr- + CC = $(CROSS)gcc CFLAGS = $(CGFLAGS) -Wall -Os -mmcu=atmega32u4 -I$(INCLUDE_PATH) LDFLAGS = +OBJCOPY = $(CROSS)objcopy +OBJCOPY_FLAGS = -S -O binary + +AVRDUDE = avrdude +AVRDUDE_FLAGS = -c avr109 -p m32u4 -b 115200 -P $(AVRDUDE_DEVICE) + HEADERS_LOCAL = HEADERS_BUILD = $(HEADERS_LOCAL) \ $(addprefix $(INCLUDE_PATH)/$(HEADER_SUBDIR)/,$(HEADERS)) @@ -18,10 +24,14 @@ HEADERS = avr/buffer.h avr/uart.h clock.h command.h link.h OBJS = main.o uart.o IMAGE_ELF = $(NAME).elf +IMAGE_BIN = $(NAME).bin RM = /bin/rm -all: $(IMAGE_ELF) +all: $(IMAGE_BIN) + +$(IMAGE_BIN): $(IMAGE_ELF) + $(OBJCOPY) $(OBJCOPY_FLAGS) $< $@ $(IMAGE_ELF): $(OBJS) $(CC) $(CFLAGS) $(OBJS) -o $@ @@ -29,5 +39,8 @@ $(IMAGE_ELF): $(OBJS) $(OBJS): %.o: %.c $(HEADERS_BUILD) $(CC) $(CFLAGS) -c $< +flash: $(IMAGE_BIN) + $(AVRDUDE) $(AVRDUDE_FLAGS) -U flash:w:$(IMAGE_BIN):r + clean: - $(RM) -f $(IMAGE_ELF) $(OBJS) + $(RM) -f $(IMAGE_BIN) $(IMAGE_ELF) $(OBJS)