WeightDisplay/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