From afbb146611617f549789988dc2ca9a52db4fb694 Mon Sep 17 00:00:00 2001 From: n-peugnet Date: Thu, 24 Mar 2022 14:06:24 +0100 Subject: rework makefile for locales --- Makefile | 50 +++++++++++++++++++++++++++++++------------------- 1 file changed, 31 insertions(+), 19 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index eec0865..87f21c5 100644 --- a/Makefile +++ b/Makefile @@ -1,39 +1,51 @@ # Minimal makefile for Sphinx documentation # -# You can set these variables from the command line, and also -# from the environment for the first two. -LOCALE ?= fr -PUBHOST ?= club1.fr -PUBDIR ?= /var/www/docs/$(LOCALE) +# You can set these variables from the command line. +override LOCALE := $(or $(LOCALE),fr) +PUBHOST ?= club1.fr +PUBDIR ?= /var/www/docs/$(LOCALE) ifneq "$(LOCALE)" "fr" -SPHINXOPTS += -D language=$(LOCALE) +override NOTFR = 1 +else +override NOTFR = endif -SPHINXBUILD ?= sphinx-build -SPHINXCMDS = clean html latexpdf man -SOURCEDIR = . -BUILDDIR = _build -LOCALES = en +SPHINXLANG = -D language=$(LOCALE) +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +SPHINXLCMDS = html latexpdf man +SPHINXCMDS = clean gettext +SOURCEDIR = . +BUILDDIR = _build +LOCALES = en +LOCALESDIRS = $(LOCALES:%=locales/%) # Put it first so that "make" without argument is like "make help". help: - @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + $(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $O -.PHONY: help locales publish Makefile $(SPHINXCMDS) +.PHONY: help locales publish Makefile $(SPHINXLCMDS) $(SPHINXCMDS) -locales: gettext - @sphinx-intl update -p $(BUILDDIR)/gettext $(LOCALES:%=-l %) +locales: $(LOCALESDIRS) + +$(LOCALESDIRS): gettext + sphinx-intl update -p $(BUILDDIR)/gettext -l $(@F) + touch $@ publish: html - @rsync -av --del _build/html/ $(USER)@$(PUBHOST):$(PUBDIR) + rsync -av --del _build/html/ $(USER)@$(PUBHOST):$(PUBDIR) + +# Shinx commands that need locales. +$(SPHINXLCMDS): $(if $(NOTFR),locales/$(LOCALE)) + $(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXLANG) $(SPHINXOPTS) $O -# Explicit Sphinx commands for autocompletion. +# Other Sphinx commands for autocompletion $(SPHINXCMDS): - @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + $(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $0 # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). %: Makefile - @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + $(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $O -- cgit v1.2.3