default: go

go2:
	./regexes-to-prefixes

go:
	# We need to ignore the missing stub for unidecode, 2018-09-08.
	# --ignore-missing-stubs would likely be better, but that's apparently not yet available in production.
	ctags-exuberant --language-force=Python music-pipeline file_timestamps.py
	/usr/local/cpython-3.11/bin/mypy --disallow-untyped-calls --ignore-missing-imports music-pipeline file_timestamps.py
	./this-pylint --which-2 None --which-3 /usr/local/cpython-3.11/bin/pylint --to-pylint music-pipeline file_timestamps.py
	# Using /digital-assets instead of /mymount should be faster, and is definitely more reliable.
	/usr/local/cpython-3.11/bin/python3 ./music-pipeline --base-dir /mnt/digital-assets/sound --archival-dir Music --phone-dir Phone-Music --car-dir Car-Music

perf-test:
	/usr/bin/time /usr/local/pypy3-7.2.0/bin/pypy3 ./music-pipeline --base-dir /mnt/digital-assets/sound --archival-dir Music --phone-dir Phone-Music --car-dir Car-Music
	/usr/bin/time /usr/local/cpython-3.7/bin/python3 ./music-pipeline --base-dir /mnt/digital-assets/sound --archival-dir Music --phone-dir Phone-Music --car-dir Car-Music

deps:
		python3 -m pip install -r requirements.txt
		./install-package --deb-packages lame

clean:
	rm -rf .mypy_cache __pycache__
	rm -f tags