# Minimal makefile for Sphinx documentation
#

# You can set these variables from the command line.
SPHINXOPTS    =
SPHINXBUILD   = sphinx-build
SPHINXINTL    = sphinx-intl
SOURCEDIR     = source
BUILDDIR      = build
DISTDIR       = dist
SOURCELANG    = fr
OTHERLANGS    = en
ALLLANGS      = $(SOURCELANG) $(OTHERLANGS)
BASEURL       = "nerv-project.eu"

all: translation htmlall geminiall

clean:
	rm -rf "$(BUILDDIR)"

translation:
	$(SPHINXBUILD) --color -d "$(BUILDDIR)/doctrees" -b gettext $(SPHINXOPTS) "$(SOURCEDIR)" "$(BUILDDIR)/gettext"; \
	for lang in $(OTHERLANGS); \
	do \
	  $(SPHINXINTL) update -p "$(BUILDDIR)/gettext" -l $$lang; \
	done

htmlall:
	mkdir -p "$(BUILDDIR)/html"; \
	for lang in $(ALLLANGS); \
	do \
	  mkdir -p "$(DISTDIR)/html/$$lang"; \
	  $(SPHINXBUILD) -d "$(BUILDDIR)/doctrees" --color -b html -D language="$$lang" -D html_baseurl="https://$(BASEURL)/$$lang/" -D blog_baseurl="https://$(BASEURL)/$$lang/" $(SPHINXOPTS) "$(SOURCEDIR)" "$(BUILDDIR)/html/$$lang"; \
	  rsync -av --delete "$(BUILDDIR)/html/$$lang/" "$(DISTDIR)/html/$$lang"; \
	done
	cp $(DISTDIR)/html/$(SOURCELANG)/favicon.ico $(DISTDIR)/html/
	cp $(DISTDIR)/html/$(SOURCELANG)/robots.txt $(DISTDIR)/html/
	cp $(DISTDIR)/html/$(SOURCELANG)/google82f190054a773ed9.html $(DISTDIR)/html/

geminiall:
	mkdir -p "$(BUILDDIR)/gemini"; \
	for lang in $(ALLLANGS); \
	do \
	  mkdir -p "$(DISTDIR)/gemini/$$lang"; \
	  $(SPHINXBUILD) --color -d "$(BUILDDIR)/doctrees" -b gemini -D language="$$lang" -D blog_baseurl="gemini://$(BASEURL)/$$lang/" -D gemini_baseurl="gemini://$(BASEURL)/$$lang/" $(SPHINXOPTS) "$(SOURCEDIR)" "$(BUILDDIR)/gemini/$$lang"; \
	  rsync -av --delete "$(BUILDDIR)/gemini/$$lang/" "$(DISTDIR)/gemini/$$lang"; \
	done
	cp index.gmi $(DISTDIR)/gemini/index.gmi