2016-12-06 19:51:07 +01:00
|
|
|
AVRMCU ?= atmega8
|
|
|
|
F_CPU ?= 16000000
|
|
|
|
ISPPORT ?= /dev/kaboard
|
|
|
|
|
2019-02-28 01:42:38 +01:00
|
|
|
VERSION = 0.2
|
2016-12-06 19:51:07 +01:00
|
|
|
|
2016-12-07 00:26:43 +01:00
|
|
|
HEADERS = include/spi.h include/st7735.h include/st7735initcmds.h
|
2016-12-07 21:14:46 +01:00
|
|
|
HEADERS += images/logo_bw.h images/logo.h include/st7735_gfx.h
|
2016-12-08 02:15:02 +01:00
|
|
|
HEADERS += include/st7735_font.h fonts/tom_thumb.h fonts/free_sans.h
|
2016-12-08 01:21:36 +01:00
|
|
|
SRC = main.c spi.c st7735.c st7735_gfx.c st7735_font.c
|
2016-12-06 19:51:07 +01:00
|
|
|
TARGET = st7735_test
|
|
|
|
OBJDIR = bin
|
2021-02-07 06:03:14 +01:00
|
|
|
LIB_TARGET = libst7735
|
|
|
|
LIB_SRC = spi.c st7735.c st7735_gfx.c st7735_font.c
|
2016-12-06 19:51:07 +01:00
|
|
|
|
|
|
|
CC = avr-gcc
|
2021-02-07 06:03:14 +01:00
|
|
|
AR = ar
|
2016-12-06 19:51:07 +01:00
|
|
|
OBJCOPY = avr-objcopy
|
|
|
|
OBJDUMP = avr-objdump
|
|
|
|
SIZE = avr-size
|
|
|
|
|
|
|
|
SRC_TMP = $(subst ../,,$(SRC))
|
|
|
|
OBJ = $(SRC_TMP:%.c=$(OBJDIR)/$(AVRMCU)/%.o)
|
2021-02-07 06:03:14 +01:00
|
|
|
LIB_SRC_TMP = $(subst ../,,$(LIB_SRC))
|
|
|
|
LIB_OBJ = $(LIB_SRC_TMP:%.c=$(OBJDIR)/$(AVRMCU)/%.o)
|
2016-12-06 19:51:07 +01:00
|
|
|
|
2019-02-25 12:08:58 +01:00
|
|
|
CFLAGS = -I include -I images -I fonts -Os -Wall -Wstrict-prototypes --std=c99
|
2016-12-06 19:51:07 +01:00
|
|
|
CFLAGS += -ffunction-sections -fdata-sections
|
|
|
|
CFLAGS += -fshort-enums -fpack-struct -funsigned-char -funsigned-bitfields
|
|
|
|
CFLAGS += -mmcu=$(AVRMCU) -DF_CPU=$(F_CPU)UL -DVERSION=$(VERSION)
|
|
|
|
|
|
|
|
LDFLAGS = -mmcu=$(AVRMCU) -Wl,--gc-sections
|
|
|
|
|
2021-02-07 06:03:14 +01:00
|
|
|
ARFLAGS = -rc
|
|
|
|
|
|
|
|
all: start $(OBJDIR)/$(AVRMCU)/$(TARGET).hex $(OBJDIR)/$(AVRMCU)/$(LIB_TARGET).a size
|
2016-12-06 19:51:07 +01:00
|
|
|
@echo ":: Done !"
|
|
|
|
|
|
|
|
start:
|
|
|
|
@echo "ST7735 for AVR $(VERSION)"
|
|
|
|
@echo "=========================="
|
|
|
|
@echo ":: Building for $(AVRMCU)"
|
|
|
|
@echo ":: MCU operating frequency is $(F_CPU)Hz"
|
|
|
|
|
2016-12-07 00:26:43 +01:00
|
|
|
images/logo.h : images/logo.png utils/img_convert.py
|
|
|
|
python3 utils/img_convert.py $< $@
|
|
|
|
|
|
|
|
images/logo_bw.h : images/logo_bw.png utils/img_convert_mono.py
|
|
|
|
python3 utils/img_convert_mono.py $< $@
|
|
|
|
|
2016-12-06 19:51:07 +01:00
|
|
|
$(OBJDIR)/$(AVRMCU)/%.o : %.c $(HEADERS) Makefile
|
|
|
|
@mkdir -p $$(dirname $@)
|
|
|
|
$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
|
|
|
|
$(OBJDIR)/$(AVRMCU)/$(TARGET).elf : $(OBJ)
|
|
|
|
$(CC) $(LDFLAGS) $+ -o $@
|
|
|
|
|
2021-02-07 06:03:14 +01:00
|
|
|
$(OBJDIR)/$(AVRMCU)/$(LIB_TARGET).a : $(LIB_OBJ)
|
|
|
|
$(AR) $(ARFLAGS) $@ $+
|
|
|
|
|
2016-12-06 19:51:07 +01:00
|
|
|
$(OBJDIR)/$(AVRMCU)/$(TARGET).hex : $(OBJDIR)/$(AVRMCU)/$(TARGET).elf
|
|
|
|
$(OBJCOPY) -O ihex $< $@
|
|
|
|
|
|
|
|
size : $(OBJDIR)/$(AVRMCU)/$(TARGET).elf
|
|
|
|
@echo
|
|
|
|
@$(SIZE) --mcu=$(AVRMCU) -C $(OBJDIR)/$(AVRMCU)/$(TARGET).elf
|
|
|
|
@echo
|
|
|
|
|
|
|
|
clean :
|
|
|
|
@rm -rf $(OBJDIR)
|
2016-12-07 00:26:43 +01:00
|
|
|
@rm images/*.h
|
2016-12-06 19:51:07 +01:00
|
|
|
|
|
|
|
flash : all
|
|
|
|
avrdude -c arduino \
|
|
|
|
-p $(AVRMCU) -P $(ISPPORT) \
|
|
|
|
-U flash:w:$(OBJDIR)/$(AVRMCU)/$(TARGET).hex
|
|
|
|
|
|
|
|
test : flash
|
|
|
|
screen $(ISPPORT) 38400
|