.PHONY: validate test dev dev-lan can-protocol-generate can-protocol-check can-read-trans can-read-trans-test

CAN_READ_TRANS_BUILD_DIR ?= build/can_read_trans
CAN_READ_TRANS_CANFD_ROOT ?= /home/orin/project511/project-code/canfd

can-protocol-generate:
	python tools/generate_can_semantic_protocol.py

can-protocol-check:
	python tools/generate_can_semantic_protocol.py --check

validate: can-protocol-check
	python tools/validate_repository.py

test: can-protocol-check
	PYTHONPATH=src:domains/seat/src python -m unittest discover -s domains/seat/tests -p 'test_*.py'
	PYTHONPATH=src:domains/seat/src python -m unittest discover -s tests -p 'test_*.py'

dev:
	PYTHONPATH=src:domains/seat/src python -m cognitive_agent.server

dev-lan:
	PYTHONPATH=src:domains/seat/src python -m cognitive_agent.server --host 0.0.0.0

can-read-trans: can-protocol-generate
	cmake -S tools/can_read_trans -B $(CAN_READ_TRANS_BUILD_DIR) \
		-DCMAKE_BUILD_TYPE=Release \
		-DCANFD_ROOT=$(CAN_READ_TRANS_CANFD_ROOT)
	cmake --build $(CAN_READ_TRANS_BUILD_DIR) --parallel

can-read-trans-test: can-read-trans
	ctest --test-dir $(CAN_READ_TRANS_BUILD_DIR) --output-on-failure
