tabby/avr/Makefile
XANTRONIX Development 904bf866a6 whatever
2016-06-04 01:45:57 -05:00

64 lines
1.3 KiB
Makefile

include ../mk/build.mk
CLOCK_SPEED = 16000000L
INCLUDE_PATH = ../include
HEADER_SUBDIR = tabby
CROSS = avr-
CC = $(CROSS)gcc
CFLAGS = $(CGFLAGS) -Wall -Os -mmcu=atmega328p -I$(INCLUDE_PATH) \
-DF_CPU=$(CLOCK_SPEED)
LDFLAGS =
OBJCOPY = $(CROSS)objcopy
OBJCOPY_FLAGS = -S
AVRDUDE = avrdude
AVRDUDE_DEVICE = /dev/ttyACM0
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 link.h
OBJS = send.o recv.o uart.o
RECV_NAME = recv
RECV_BIN = $(RECV_NAME).bin
RECV_ELF = $(RECV_NAME).elf
RECV_OBJS = recv.o uart.o
SEND_NAME = send
SEND_BIN = $(SEND_NAME).bin
SEND_ELF = $(SEND_NAME).elf
SEND_OBJS = send.o uart.o
IMAGES_BIN = $(RECV_BIN) $(SEND_BIN)
IMAGES_ELF = $(RECV_ELF) $(SEND_ELF)
RM = /bin/rm
all: $(IMAGES_BIN)
$(IMAGES_BIN): %.bin: %.elf
$(OBJCOPY) $(OBJCOPY_FLAGS) -O binary $< $@
$(SEND_ELF): $(SEND_OBJS)
$(CC) $(CFLAGS) $(SEND_OBJS) -o $@
$(RECV_ELF): $(RECV_OBJS)
$(CC) $(CFLAGS) $(RECV_OBJS) -o $@
$(OBJS): %.o: %.c $(HEADERS_BUILD)
$(CC) $(CFLAGS) -c $<
flash-send: $(SEND_BIN)
$(AVRDUDE) $(AVRDUDE_FLAGS) -U flash:w:$(SEND_BIN):r
flash-recv: $(RECV_BIN)
$(AVRDUDE) $(AVRDUDE_FLAGS) -U flash:w:$(RECV_BIN):r
clean:
$(RM) -f $(IMAGES_BIN) $(IMAGES_ELF) $(OBJS)