PYTHON ?= python
DVC ?= dvc
DVC_SITE_CACHE_DIR ?= $(CURDIR)/.dvc-cache
DVC_CMD = DVC_SITE_CACHE_DIR=$(DVC_SITE_CACHE_DIR) $(DVC)

.PHONY: init-dvc validate prepare train evaluate pipeline repro graph clean

init-dvc:
	@test -d .dvc || $(DVC_CMD) init --no-scm

validate:
	$(PYTHON) src/validate_data.py

prepare:
	$(PYTHON) src/prepare.py

train:
	$(PYTHON) src/train.py

evaluate:
	$(PYTHON) src/evaluate.py

pipeline: validate prepare train evaluate

repro: init-dvc
	$(DVC_CMD) repro

graph: init-dvc
	$(DVC_CMD) dag

clean:
	rm -rf data/processed artifacts reports/*.json .dvc
