SUBDIR_GOALS=	all clean distclean

SUBDIR+=		src/pytorial
SUBDIR+=		tests
SUBDIR+=		doc

version=$(shell sed -n 's/^ *version *= *\"\([^\"]\+\)\"/\1/p' pyproject.toml)

.PHONY: all
all: compile doc/pytorial.pdf test

.PHONY: compile
compile:
	${MAKE} -C src/pytorial all
	poetry build

.PHONY: test
test: compile
	${MAKE} -C tests test

# Only doc/Makefile knows what the PDF depends on, so always ask it.
.PHONY: doc/pytorial.pdf
doc/pytorial.pdf:
	${MAKE} -C $(dir $@) $(notdir $@)

.PHONY: publish
publish: publish-pypi publish-github

.PHONY: publish-pypi
publish-pypi: compile
	poetry publish

.PHONY: publish-github
publish-github: doc/pytorial.pdf
	git push
	gh release create -t v${version} v${version} doc/pytorial.pdf


.PHONY: clean
clean:

.PHONY: distclean
distclean:
	${RM} -R build dist tutorial.egg-info pytorial.egg-info src/tutorial.egg-info src/pytorial.egg-info


INCLUDE_MAKEFILES=makefiles
include ${INCLUDE_MAKEFILES}/subdir.mk
