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
|
2016-06-06 19:58:39 -05:00
|
|
|
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
|
2016-05-28 19:21:45 -05:00
|
|
|
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
|
2016-06-05 22:51:28 -05:00
|
|
|
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))
|
|
|
|
|
2016-06-06 19:42:15 -05:00
|
|
|
HEADERS = avr.h avr/uart.h avr/link.h avr/printer.h link.h printer.h
|
|
|
|
OBJS = send.o recv.o printer.o link.o uart.o
|
2016-06-01 22:30:12 -05:00
|
|
|
|
|
|
|
RECV_NAME = recv
|
|
|
|
RECV_BIN = $(RECV_NAME).bin
|
|
|
|
RECV_ELF = $(RECV_NAME).elf
|
2016-06-06 20:28:19 -05:00
|
|
|
RECV_OBJS = recv.o printer.o link.o uart.o
|
2016-05-27 15:49:27 -05:00
|
|
|
|
2016-06-01 22:30:12 -05:00
|
|
|
SEND_NAME = send
|
|
|
|
SEND_BIN = $(SEND_NAME).bin
|
|
|
|
SEND_ELF = $(SEND_NAME).elf
|
2016-06-06 19:42:15 -05:00
|
|
|
SEND_OBJS = send.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
|
2016-05-28 19:21:45 -05:00
|
|
|
$(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-01 23:40:40 -05:00
|
|
|
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
|
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)
|