# SPDX-License-Identifier: GPL-3.0-or-later
# pomelo-assistant — Pomelo 小幫手（本機 AI）
PREFIX ?= /usr/local
CFLAGS ?= -Os -pipe -Wall -Wextra -Wno-unused-parameter -Wno-format-truncation
POMELO_CFLAGS ?= $(shell pkg-config --cflags pomelo)
POMELO_LIBS   ?= $(shell pkg-config --libs pomelo)

all: pomelo-assistant pomelo-assistant.png

pomelo-assistant: pomelo-assistant.c pet.c quick.c robot.c robot.h sound.c sound.h
	$(CC) $(CFLAGS) $(POMELO_CFLAGS) -o $@ pomelo-assistant.c robot.c sound.c $(POMELO_LIBS) -lpthread -lm $(LDFLAGS)

pomelo-assistant.png: pomelo-assistant
	LD_LIBRARY_PATH="$(LD_LIBRARY_PATH)" ./pomelo-assistant --icon $@

install: all
	install -Dm755 pomelo-assistant $(DESTDIR)$(PREFIX)/bin/pomelo-assistant
	install -Dm644 pomelo-assistant.desktop $(DESTDIR)$(PREFIX)/share/applications/pomelo-assistant.desktop
	install -Dm644 pomelo-assistant.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/pomelo-assistant.png

clean:
	rm -f pomelo-assistant pomelo-assistant.png

.PHONY: all install clean

# 快速通道的測試句：每句比對「預期走快速通道或交給模型」，不會真的執行
quick-test: pomelo-assistant
	@grep -v '^#' quick-cases.tsv | cut -f2 | ./pomelo-assistant --quick-test | cut -f1 > .quick-out
	@grep -v '^#' quick-cases.tsv | cut -f1 | paste - .quick-out | awk -F'\t' '{ if ($$1 == $$2) ok++; else { bad++; print "不符：第 " NR " 句" } } END { print "符合 " ok " 句，不符 " bad+0 " 句"; exit bad > 0 }'
	@rm -f .quick-out

.PHONY: quick-test
