tabby/avr/Makefile

66 lines
1.5 KiB
Makefile
Raw Normal View History

2016-05-27 15:49:27 -05:00
include ../mk/build.mk
2016-06-01 22:30:12 -05:00
CLOCK_SPEED = 16000000L
2016-05-27 15:49:27 -05:00
INCLUDE_PATH = ../include
HEADER_SUBDIR = tabby
CROSS = avr-
2016-05-27 19:33:56 -05:00
2016-05-27 15:49:27 -05:00
CC = $(CROSS)gcc
CFLAGS = $(CGFLAGS) -Wall -Os -mmcu=atmega2560 \
-fdata-sections -ffunction-sections -Wl,--gc-sections \
-I$(INCLUDE_PATH) -DF_CPU=$(CLOCK_SPEED) -DUSE_2X
2016-05-27 15:49:27 -05:00
LDFLAGS =
2016-05-27 19:33:56 -05:00
OBJCOPY = $(CROSS)objcopy
OBJCOPY_FLAGS = -S
2016-05-27 19:33:56 -05:00
AVRDUDE = avrdude
2016-06-04 19:11:06 -05:00
AVRDUDE_DEVICE = /dev/cu.usbmodem1411
AVRDUDE_FLAGS = -c wiring -p atmega2560 -b 115200 -D -P $(AVRDUDE_DEVICE)
2016-05-27 19:33:56 -05:00
2016-05-27 15:49:27 -05:00
HEADERS_LOCAL =
HEADERS_BUILD = $(HEADERS_LOCAL) \
$(addprefix $(INCLUDE_PATH)/$(HEADER_SUBDIR)/,$(HEADERS))
HEADERS = avr.h avr/uart.h avr/link.h avr/printer.h link.h printer.h
2016-06-10 17:34:17 -05:00
OBJS = print.o capture.o printer.o link.o uart.o
2016-06-01 22:30:12 -05:00
2016-06-10 17:34:17 -05:00
RECV_NAME = capture
2016-06-01 22:30:12 -05:00
RECV_BIN = $(RECV_NAME).bin
RECV_ELF = $(RECV_NAME).elf
2016-06-10 17:34:17 -05:00
RECV_OBJS = capture.o printer.o link.o uart.o
2016-05-27 15:49:27 -05:00
2016-06-10 17:34:17 -05:00
SEND_NAME = print
2016-06-01 22:30:12 -05:00
SEND_BIN = $(SEND_NAME).bin
SEND_ELF = $(SEND_NAME).elf
2016-06-10 17:34:17 -05:00
SEND_OBJS = print.o printer.o link.o uart.o
2016-06-01 22:30:12 -05:00
IMAGES_BIN = $(RECV_BIN) $(SEND_BIN)
IMAGES_ELF = $(RECV_ELF) $(SEND_ELF)
2016-05-27 15:49:27 -05:00
RM = /bin/rm
2016-06-01 22:30:12 -05:00
all: $(IMAGES_BIN)
2016-05-27 19:33:56 -05:00
2016-06-01 22:30:12 -05:00
$(IMAGES_BIN): %.bin: %.elf
$(OBJCOPY) $(OBJCOPY_FLAGS) -O binary $< $@
2016-05-27 15:49:27 -05:00
2016-06-01 22:30:12 -05:00
$(SEND_ELF): $(SEND_OBJS)
$(CC) $(CFLAGS) $(SEND_OBJS) -o $@
$(RECV_ELF): $(RECV_OBJS)
$(CC) $(CFLAGS) $(RECV_OBJS) -o $@
2016-05-27 15:49:27 -05:00
$(OBJS): %.o: %.c $(HEADERS_BUILD)
$(CC) $(CFLAGS) -c $<
2016-06-10 17:34:17 -05:00
flash-print: $(SEND_BIN)
$(AVRDUDE) $(AVRDUDE_FLAGS) -U flash:w:$(SEND_BIN):r
2016-06-10 17:34:17 -05:00
flash-capture: $(RECV_BIN)
$(AVRDUDE) $(AVRDUDE_FLAGS) -U flash:w:$(RECV_BIN):r
2016-05-27 19:33:56 -05:00
2016-05-27 15:49:27 -05:00
clean:
2016-06-01 22:30:12 -05:00
$(RM) -f $(IMAGES_BIN) $(IMAGES_ELF) $(OBJS)