Add Makefile support for more output binaries, add clock test
This commit is contained in:
@@ -45,7 +45,7 @@ DEVICE_TYPE ?= stm32l031k6
|
||||
DEVICE_FAMILY = stm32l031xx
|
||||
DEVICE_LINE = stm32l0xx
|
||||
|
||||
STACK_SIZE ?= 768
|
||||
STACK_SIZE ?= 512
|
||||
HEAP_SIZE ?= 0
|
||||
|
||||
else ifeq ($(BOARD), devboard)
|
||||
@@ -83,11 +83,18 @@ S_SOURCES := $(call find_important, $(SOURCEDIR), '*.s')
|
||||
SPP_SOURCES := Bsp/Mcu/$(DEVICE_TYPE).S
|
||||
SOURCES = $(C_SOURCES) $(S_SOURCES) $(SPP_SOURCES) $(CPP_SOURCES)
|
||||
|
||||
APPS := ./Application/main ./Test/basic ./Test/clock
|
||||
APP_ELFS = $(addsuffix .elf, $(APPS))
|
||||
APP_MAPS = $(addsuffix .map, $(APPS))
|
||||
APP_BINS = $(addsuffix .bin, $(APPS))
|
||||
APP_OBJS = $(addsuffix .o, $(APPS))
|
||||
|
||||
C_OBJS := $(patsubst %.c,%.o,$(C_SOURCES))
|
||||
CXX_OBJS := $(patsubst %.cpp,%.o,$(CXX_SOURCES))
|
||||
S_OBJS := $(patsubst %.s,%.o,$(S_SOURCES))
|
||||
SPP_OBJS := $(patsubst %.S,%.o,$(SPP_SOURCES))
|
||||
OBJS = $(C_OBJS) $(S_OBJS) $(SPP_OBJS) $(CXX_OBJS)
|
||||
ALL_OBJS = $(C_OBJS) $(S_OBJS) $(SPP_OBJS) $(CXX_OBJS)
|
||||
OBJS = $(filter-out $(APP_OBJS), $(ALL_OBJS))
|
||||
|
||||
LINKER_SCRIPT ?= Bsp/Mcu/$(DEVICE_TYPE).ld
|
||||
|
||||
@@ -96,6 +103,10 @@ OUTPUT_BIN ?= $(OUTPUT_NAME).bin
|
||||
OUTPUT_ELF ?= $(OUTPUT_NAME).elf
|
||||
OUTPUT_MAP ?= $(OUTPUT_NAME).map
|
||||
|
||||
# $(info "ALL_OBJS=$(ALL_OBJS)")
|
||||
# $(info "APP_OBJS=$(APP_OBJS)")
|
||||
# $(info "OBJS=$(OBJS)")
|
||||
|
||||
#
|
||||
# Flags
|
||||
#
|
||||
@@ -118,9 +129,9 @@ CFLAGS += -ffreestanding
|
||||
CFLAGS += -fstack-usage -Wstack-usage=128
|
||||
# Defines
|
||||
CFLAGS += -D$(DEVICE_FAMILY_DEFINE) -D$(DEVICE_TYPE_DEFINE) -D$(DEVICE_LINE_DEFINE)
|
||||
CFLAGS += -DPRINTF_DISABLE_SUPPORT_FLOAT -DPRINTF_DISABLE_SUPPORT_EXPONENTIAL -DPRINTF_DISABLE_SUPPORT_PTRDIFF_T
|
||||
# CFLAGS += -DPRINTF_DISABLE_SUPPORT_FLOAT -DPRINTF_DISABLE_SUPPORT_EXPONENTIAL -DPRINTF_DISABLE_SUPPORT_PTRDIFF_T
|
||||
# Consider this one if we are running short on flash, it saved about 1K
|
||||
#CFLAGS += -DPRINTF_DISABLE_SUPPORT_LONG_LONG
|
||||
# CFLAGS += -DPRINTF_DISABLE_SUPPORT_LONG_LONG
|
||||
# Includes
|
||||
CFLAGS += -I./Bsp/Mcu/
|
||||
CFLAGS += -I./ThirdParty/stm32/$(DEVICE_LINE)/Include
|
||||
@@ -165,7 +176,7 @@ $(info ================================)
|
||||
# Default Target
|
||||
#
|
||||
.PHONY: build
|
||||
build: $(OUTPUT_BIN)
|
||||
build: $(APP_BINS)
|
||||
|
||||
#
|
||||
# Build Logic
|
||||
@@ -195,13 +206,13 @@ $(FONT_GEN_DIR)/large_digits.h $(FONT_GEN_DIR)/large_digits.c: Gen/fixedfont-to-
|
||||
@mkdir -p $(FONT_GEN_DIR)
|
||||
@Gen/fixedfont-to-c.py $(patsubst .%,%,$(suffix $@)) $(LARGE_FONT) "$@" -s 70 --header-dir "Bsp/" --name font_large_digits -c "01234567890:"
|
||||
|
||||
$(OUTPUT_BIN): $(OUTPUT_ELF)
|
||||
%.bin: %.elf
|
||||
@echo "OBJCOPY $@"
|
||||
@$(OBJCOPY) -O binary $(OUTPUT_ELF) $(OUTPUT_BIN)
|
||||
@$(OBJCOPY) -O binary $^ $@
|
||||
|
||||
$(OUTPUT_MAP) $(OUTPUT_ELF): $(LINKER_SCRIPT) $(OBJS)
|
||||
%.map %.elf: %.o $(LINKER_SCRIPT) $(OBJS)
|
||||
@echo "LD $@"
|
||||
@$(LD) -T $(LINKER_SCRIPT) $(LDFLAGS) -o $(OUTPUT_ELF) $(OBJS) -Wl,-Map=$(OUTPUT_MAP)
|
||||
@$(LD) -T $(LINKER_SCRIPT) $(LDFLAGS) -o $*.elf $*.o $(OBJS) -Wl,-Map=$*.map
|
||||
|
||||
#
|
||||
# Utilities
|
||||
@@ -224,3 +235,6 @@ jlink: $(OUTPUT_BIN)
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -f $(OBJS) $(OUTPUT_BIN) $(OUTPUT_ELF) $(FONT_C_FILES) $(FONT_H_FILES) $(OUTPUT_MAP) $(addsuffix .su,$(basename $(OBJS)))
|
||||
|
||||
# Please do not delete my files.
|
||||
.SECONDARY: $(ALL_OBJS) $(APP_ELFS)
|
||||
|
||||
Reference in New Issue
Block a user