41 lines
868 B
Makefile
41 lines
868 B
Makefile
# STM8S003F3P6TR 固件第一阶段构建文件。
|
|
# 本阶段只验证工程结构和模块接口,硬件寄存器驱动将在后续阶段逐步接入。
|
|
|
|
PROJECT := mesh_relay
|
|
BUILD_DIR := build
|
|
SRC_DIR := src
|
|
INC_DIR := include
|
|
|
|
CC := sdcc
|
|
OBJCOPY := packihx
|
|
|
|
CFLAGS := -mstm8 --std-c99 --opt-code-size -I$(INC_DIR)
|
|
LDFLAGS := -mstm8 --out-fmt-ihx
|
|
|
|
SOURCES := $(shell find $(SRC_DIR) -name '*.c' -print)
|
|
OBJECTS := $(patsubst $(SRC_DIR)/%.c,$(BUILD_DIR)/%.rel,$(SOURCES))
|
|
IHX := $(BUILD_DIR)/$(PROJECT).ihx
|
|
HEX := $(BUILD_DIR)/$(PROJECT).hex
|
|
|
|
.PHONY: all clean size
|
|
|
|
all: $(HEX)
|
|
|
|
$(HEX): $(IHX)
|
|
@mkdir -p $(dir $@)
|
|
$(OBJCOPY) $< > $@
|
|
|
|
$(IHX): $(OBJECTS)
|
|
@mkdir -p $(dir $@)
|
|
$(CC) $(LDFLAGS) -o $@ $(OBJECTS)
|
|
|
|
$(BUILD_DIR)/%.rel: $(SRC_DIR)/%.c
|
|
@mkdir -p $(dir $@)
|
|
$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
size: $(IHX)
|
|
@ls -lh $(IHX) $(HEX)
|
|
|
|
clean:
|
|
rm -rf $(BUILD_DIR)
|