# ---------------------------------------------------------------------------
# tools/trace/Makefile — lnxall_trace 调试跟踪工具构建
#
# 通常由 src/Makefile 通过 "$(MAKE) -C ../tools/trace CC=$(CC)" 调用，
# 编译器 (CC) 由调用方显式传入，与 proto_forward 完全一致；
# 也可独立执行 make CC=<交叉编译器>（产物必须与目标板架构一致；
# 直接 make 不传 CC 时会回退主机编译器，产物无法在目标板运行）。
# ---------------------------------------------------------------------------
TARGET := lnxall_trace
SRCS   := $(wildcard *.c)

# 编译器优先级：$(CC)（调用方/命令行注入）→ $(CROSS_COMPILE)gcc → cc
TRACE_CC     := $(if $(strip $(CC)),$(CC),$(if $(strip $(CROSS_COMPILE)),$(CROSS_COMPILE)gcc,cc))
TRACE_CFLAGS := $(CFLAGS) -Wall -D_GNU_SOURCE

.PHONY: all clean

# all 无条件重新编译（.PHONY）：确保产物与本次传入的编译器严格一致，
# 避免编译器/工具链变化后旧产物被时间戳判断沿用
all:
	$(TRACE_CC) $(TRACE_CFLAGS) -o $(TARGET) $(SRCS) $(LDFLAGS)

clean:
	rm -f $(TARGET)
