all: data train eval

training.csv: prepare_training_data.py training_data_raw.csv
	@echo "Preparing bootstrapped sign text bags..."
	@bash -c 'source .venv/bin/activate && python prepare_training_data.py'

data: training.csv

train: train.py training.csv
	@echo "Training coordinate regressor..."
	@bash -c 'source .venv/bin/activate && python train.py'

eval: eval.py training.csv
	@echo "Evaluating coordinate regressor..."
	@bash -c 'source .venv/bin/activate && python eval.py'

lint:
	@echo "Auto-linting files and performing final style checks..."
	@bash -c 'source .venv/bin/activate && isort --profile=black *.py'
	@bash -c 'source .venv/bin/activate && black *.py'
	@bash -c 'source .venv/bin/activate && flake8 --max-line-length=88 --ignore E203 *.py'

clean:
	@echo "Removing generated outputs"
	@rm -rf output/
	@rm -f training.csv predictions.csv

.PHONY: data train eval lint clean all
