# NPU 推理 Demo — Makefile (RK3568 板端)
# 编译: make CROSS_COMPILE=aarch64-buildroot-linux-gnu-
# 本地测试: make HOST=1  (需要 librknnrt.so 或模拟)

CROSS_COMPILE ?=
CC            = $(CROSS_COMPILE)gcc
CFLAGS        = -Wall -O2 -std=gnu99
LDFLAGS       = -lrknnrt -lpthread -lm

TARGET        = fault_infer
SRCS          = inference_demo.c

# 本地编译 (需要安装 rknn-toolkit2 的 librknnrt.so 模拟库)
ifdef HOST
    CC = gcc
    CFLAGS += -DHOST_BUILD
endif

all: $(TARGET)

$(TARGET): $(SRCS)
	$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
	@echo "编译完成: $(TARGET)"
	@file $(TARGET)

clean:
	rm -f $(TARGET) *.o

# 运行测试 (需要 root + NPU 驱动)
test: $(TARGET)
	sudo ./$(TARGET) ../deploy/fault_model.rknn

# 安装到目标板
install:
	cp $(TARGET) $(PREFIX)/fault_infer
	cp ../deploy/fault_model.rknn $(PREFIX)/

.PHONY: all clean test install
