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/weight_ui.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