include ../mk/build.mk CLOCK_SPEED = 16000000L INCLUDE_PATH = ../include HEADER_SUBDIR = tabby CROSS = avr- 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 LDFLAGS = OBJCOPY = $(CROSS)objcopy OBJCOPY_FLAGS = -S AVRDUDE = avrdude AVRDUDE_DEVICE = /dev/cu.usbmodem1411 AVRDUDE_FLAGS = -c wiring -p atmega2560 -b 115200 -D -P $(AVRDUDE_DEVICE) 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 OBJS = print.o capture.o printer.o link.o uart.o RECV_NAME = capture RECV_BIN = $(RECV_NAME).bin RECV_ELF = $(RECV_NAME).elf RECV_OBJS = capture.o printer.o link.o uart.o SEND_NAME = print SEND_BIN = $(SEND_NAME).bin SEND_ELF = $(SEND_NAME).elf SEND_OBJS = print.o printer.o link.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-print: $(SEND_BIN) $(AVRDUDE) $(AVRDUDE_FLAGS) -U flash:w:$(SEND_BIN):r flash-capture: $(RECV_BIN) $(AVRDUDE) $(AVRDUDE_FLAGS) -U flash:w:$(RECV_BIN):r clean: $(RM) -f $(IMAGES_BIN) $(IMAGES_ELF) $(OBJS)