SPHINXOPTS    ?=
SPHINXBUILD   ?= sphinx-build
SOURCEDIR     = source
BUILDDIR      = build

help:
	@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

.PHONY: help html clean render

html:
	sphinx-apidoc -f -o $(SOURCEDIR) ../python/pyaxml/
	$(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
	cd .. && cargo doc --no-deps
	mkdir -p "$(BUILDDIR)/html/rust-api"
	cp -r ../target/doc/* "$(BUILDDIR)/html/rust-api/"

clean:
	$(SPHINXBUILD) -M clean "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
	rm -rf "$(BUILDDIR)"

%: Makefile
	sphinx-apidoc -f -o $(SOURCEDIR) ../python/pyaxml/
	$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

render:
	$(MAKE) html
	cd build/html/ && python3 -m http.server --bind 127.0.0.1
