tabby/avr/Makefile
2016-05-30 21:53:10 -05:00

46 lines
987 B
Makefile

include ../mk/build.mk
INCLUDE_PATH = ../include
HEADER_SUBDIR = tabby
CROSS = avr-
CC = $(CROSS)gcc
CFLAGS = $(CGFLAGS) -Wall -Os -mmcu=atmega328p -I$(INCLUDE_PATH)
LDFLAGS =
OBJCOPY = $(CROSS)objcopy
OBJCOPY_FLAGS = -S
AVRDUDE = avrdude
AVRDUDE_DEVICE = /dev/cu.usbmodem1421
AVRDUDE_FLAGS = -c arduino -p atmega328p -b 115200 -D -P $(AVRDUDE_DEVICE)
HEADERS_LOCAL =
HEADERS_BUILD = $(HEADERS_LOCAL) \
$(addprefix $(INCLUDE_PATH)/$(HEADER_SUBDIR)/,$(HEADERS))
HEADERS = avr/buffer.h avr/uart.h clock.h command.h link.h
OBJS = main.o uart.o
IMAGE_NAME = tabby
IMAGE_ELF = $(IMAGE_NAME).elf
IMAGE_BIN = $(IMAGE_NAME).bin
RM = /bin/rm
all: $(IMAGE_BIN)
$(IMAGE_BIN): $(IMAGE_ELF)
$(OBJCOPY) $(OBJCOPY_FLAGS) -O binary $< $@
$(IMAGE_ELF): $(OBJS)
$(CC) $(CFLAGS) $(OBJS) -o $@
$(OBJS): %.o: %.c $(HEADERS_BUILD)
$(CC) $(CFLAGS) -c $<
flash: $(IMAGE_BIN)
$(AVRDUDE) $(AVRDUDE_FLAGS) -U flash:w:$(IMAGE_BIN):r
clean:
$(RM) -f $(IMAGE_BIN) $(IMAGE_ELF) $(OBJS)