98 lines
3.3 KiB
Makefile
98 lines
3.3 KiB
Makefile
TARGET = hub75_80x40
|
|
BUILD = build
|
|
|
|
PREFIX = arm-none-eabi-
|
|
CC = $(PREFIX)gcc
|
|
AS = $(PREFIX)gcc -x assembler-with-cpp
|
|
OBJCOPY = $(PREFIX)objcopy
|
|
SIZE = $(PREFIX)size
|
|
|
|
SRC_ROOT = ../RGB-Matrix-Px-xx/example/STM32/STM32F103RB
|
|
|
|
C_SOURCES = \
|
|
$(SRC_ROOT)/Core/Src/main.c \
|
|
$(SRC_ROOT)/Core/Src/gpio.c \
|
|
$(SRC_ROOT)/Core/Src/tim.c \
|
|
$(SRC_ROOT)/Core/Src/usart.c \
|
|
$(SRC_ROOT)/Core/Src/stm32f1xx_it.c \
|
|
$(SRC_ROOT)/Core/Src/stm32f1xx_hal_msp.c \
|
|
$(SRC_ROOT)/Core/Src/system_stm32f1xx.c \
|
|
$(SRC_ROOT)/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c \
|
|
$(SRC_ROOT)/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c \
|
|
$(SRC_ROOT)/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c \
|
|
$(SRC_ROOT)/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c \
|
|
$(SRC_ROOT)/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c \
|
|
$(SRC_ROOT)/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c \
|
|
$(SRC_ROOT)/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c \
|
|
$(SRC_ROOT)/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c \
|
|
$(SRC_ROOT)/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c \
|
|
$(SRC_ROOT)/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c \
|
|
$(SRC_ROOT)/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c \
|
|
$(SRC_ROOT)/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c \
|
|
$(SRC_ROOT)/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c \
|
|
$(SRC_ROOT)/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c \
|
|
$(SRC_ROOT)/User/GUI/GUI_Paint.c \
|
|
$(SRC_ROOT)/User/Driver_HUB75/Driver_RGBMatrix.c \
|
|
$(SRC_ROOT)/User/image/image.c \
|
|
$(SRC_ROOT)/User/Fonts/font8.c \
|
|
$(SRC_ROOT)/User/Fonts/font12.c \
|
|
$(SRC_ROOT)/User/Fonts/font12CN.c \
|
|
$(SRC_ROOT)/User/Fonts/font16.c \
|
|
$(SRC_ROOT)/User/Fonts/font20.c \
|
|
$(SRC_ROOT)/User/Fonts/font24.c \
|
|
$(SRC_ROOT)/User/Fonts/font24CN.c \
|
|
syscalls.c
|
|
|
|
ASM_SOURCES = startup_stm32f103zet6.s
|
|
|
|
C_INCLUDES = \
|
|
-I$(SRC_ROOT)/Core/Inc \
|
|
-I$(SRC_ROOT)/Drivers/STM32F1xx_HAL_Driver/Inc \
|
|
-I$(SRC_ROOT)/Drivers/STM32F1xx_HAL_Driver/Inc/Legacy \
|
|
-I$(SRC_ROOT)/Drivers/CMSIS/Device/ST/STM32F1xx/Include \
|
|
-I$(SRC_ROOT)/Drivers/CMSIS/Include \
|
|
-I$(SRC_ROOT)/User/GUI \
|
|
-I$(SRC_ROOT)/User/Driver_HUB75 \
|
|
-I$(SRC_ROOT)/User/Fonts \
|
|
-I$(SRC_ROOT)/User/image
|
|
|
|
CPU = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
|
DEFS = -DSTM32F103xB -DUSE_HAL_DRIVER -DHSE_VALUE=8000000U -DHUB75_PANEL_PROFILE=HUB75_PANEL_PROFILE_80X40_1_20
|
|
OPT = -Os
|
|
|
|
CFLAGS = $(CPU) $(DEFS) $(C_INCLUDES) $(OPT) -Wall -ffunction-sections -fdata-sections -fno-common -g
|
|
ASFLAGS = $(CPU) -g
|
|
LDFLAGS = $(CPU) -TSTM32F103ZET6.ld -Wl,--gc-sections -Wl,-Map=$(BUILD)/$(TARGET).map --specs=nano.specs --specs=nosys.specs
|
|
|
|
OBJECTS = $(addprefix $(BUILD)/,$(notdir $(C_SOURCES:.c=.o)))
|
|
OBJECTS += $(addprefix $(BUILD)/,$(notdir $(ASM_SOURCES:.s=.o)))
|
|
|
|
vpath %.c $(sort $(dir $(C_SOURCES)))
|
|
vpath %.s $(sort $(dir $(ASM_SOURCES)))
|
|
|
|
all: $(BUILD)/$(TARGET).elf $(BUILD)/$(TARGET).bin $(BUILD)/$(TARGET).hex
|
|
$(SIZE) $(BUILD)/$(TARGET).elf
|
|
|
|
$(BUILD)/%.o: %.c | $(BUILD)
|
|
$(CC) -c $(CFLAGS) $< -o $@
|
|
|
|
$(BUILD)/%.o: %.s | $(BUILD)
|
|
$(AS) -c $(ASFLAGS) $< -o $@
|
|
|
|
$(BUILD)/$(TARGET).elf: $(OBJECTS)
|
|
$(CC) $(OBJECTS) $(LDFLAGS) -o $@
|
|
|
|
$(BUILD)/$(TARGET).bin: $(BUILD)/$(TARGET).elf
|
|
$(OBJCOPY) -O binary $< $@
|
|
|
|
$(BUILD)/$(TARGET).hex: $(BUILD)/$(TARGET).elf
|
|
$(OBJCOPY) -O ihex $< $@
|
|
|
|
$(BUILD):
|
|
mkdir -p $(BUILD)
|
|
|
|
clean:
|
|
rm -rf $(BUILD)
|
|
|
|
.PHONY: all clean
|