# FablePool conformance suite — developer entry points.
#
# All targets assume you are inside the `conformance/` directory.
# `make install` installs the fpcf package (editable) plus dev tooling.

PYTHON      ?= python3
SEED        ?= 5eed5eed5eed5eed5eed5eed5eed5eed5eed5eed5eed5eed5eed5eed5eed5eed
VECTOR_DIR  ?= vectors/generated

.PHONY: help install test vectors run check clean

help:
	@echo "FablePool conformance suite"
	@echo ""
	@echo "  make install   install fpcf (editable) with dev dependencies"
	@echo "  make test      run the pytest suite"
	@echo "  make vectors   (re)generate the deterministic vector suite"
	@echo "                 into $(VECTOR_DIR) using SEED=$(SEED)"
	@echo "  make run       run the conformance runner against $(VECTOR_DIR)"
	@echo "  make check     test + vectors + run (what CI should do)"
	@echo "  make clean     remove generated vectors and caches"

install:
	$(PYTHON) -m pip install -e ".[dev]"

test:
	$(PYTHON) -m pytest -q tests

vectors:
	$(PYTHON) -m fpcf.cli generate --out $(VECTOR_DIR) --seed $(SEED)

run: vectors
	$(PYTHON) -m fpcf.cli run --vectors $(VECTOR_DIR)

check: test run

clean:
	rm -rf $(VECTOR_DIR) .pytest_cache
	find . -type d -name __pycache__ -prune -exec rm -rf {} +
