PREFIX ?= /usr/local
BINDIR ?= $(PREFIX)/bin
LIBDIR ?= $(PREFIX)/lib/userdic-py
PYTHON ?= python3

.PHONY: test build check-dist publish-test publish clean install uninstall

test:
	$(PYTHON) -m unittest discover -s tests -v

build:
	$(PYTHON) -m build

check-dist: test build
	$(PYTHON) -m twine check dist/*

publish-test: check-dist
	$(PYTHON) -m twine upload --repository testpypi dist/*

publish: check-dist
	$(PYTHON) -m twine upload dist/*

clean:
	rm -rf build dist *.egg-info

install:
	install -d $(BINDIR)
	install -d $(LIBDIR)/userdic_py
	for f in userdic_py/*.py; do install -m 644 $$f $(LIBDIR)/userdic_py/; done
	install -m 644 userdic_py/hinshi $(LIBDIR)/userdic_py/hinshi
	printf '%s\n' '#!/usr/bin/env python3' 'from pathlib import Path' 'import sys' '' 'sys.path.insert(0, str(Path(__file__).resolve().parent.parent / "lib" / "userdic-py"))' '' 'from userdic_py.converter import run' '' 'if __name__ == "__main__":' '    raise SystemExit(run())' > $(BINDIR)/userdic-py
	chmod 755 $(BINDIR)/userdic-py

uninstall:
	rm -f $(BINDIR)/userdic-py
	rm -rf $(LIBDIR)
