PYTHON ?= python
CC ?= gcc
CFLAGS ?= -std=c11 -O2 -Wall -Wextra -pedantic
INCLUDES = -Ifirmware/include -Ifirmware/generated
SOURCES = firmware/src/vibration_features.c firmware/src/vibration_app.c tests/host_test.c

.PHONY: train test verify clean

train:
	$(PYTHON) training/train.py

build/host_test: $(SOURCES) firmware/generated/model.h
	mkdir -p build
	$(CC) $(CFLAGS) $(INCLUDES) $(SOURCES) -lm -o $@

test: build/host_test
	./build/host_test data/test_vectors.csv

verify: train test

clean:
	rm -rf build
