# ZhaTianRX - STC8H1K08 接收机固件 Makefile
# 编译器: SDCC

TARGET = ZhaTianRX
BUILD_DIR = build

# SDCC 路径
CC = sdcc
PACK = packihx

# 源文件
C_SOURCES = main.c

# 编译标志
CFLAGS = -mmcs51 --model-small --no-xinit-opt

# 输出文件
IHX = $(BUILD_DIR)/$(TARGET).ihx
HEX = $(BUILD_DIR)/$(TARGET).hex
BIN = $(BUILD_DIR)/$(TARGET).bin

# 目标
all: $(BUILD_DIR) $(HEX) $(BIN)

$(BUILD_DIR):
	mkdir -p $(BUILD_DIR)

# 编译: SDCC 直接输出 .ihx
$(IHX): $(C_SOURCES) NRF24.h STC8_SDCC.H | $(BUILD_DIR)
	$(CC) $(CFLAGS) -o $(IHX) $(C_SOURCES)

# 转换为 Intel HEX
$(HEX): $(IHX)
	$(PACK) $(IHX) > $(HEX)

# 转换为二进制
$(BIN): $(HEX) hex2bin.py
	python3 hex2bin.py $(HEX) $(BIN)

# 清理
clean:
	rm -rf $(BUILD_DIR) *.asm *.lst *.rel *.rst *.sym *.map *.mem *.lk

# 烧录 (需要 stcgal)
flash: $(HEX)
	@echo "烧录命令: stcgal -p /dev/ttyUSB0 -b 115200 $(HEX)"
	@echo "或者使用 STC-ISP 工具手动烧录"

.PHONY: all clean flash
