aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorn-peugnet <n.peugnet@free.fr>2022-03-24 14:06:24 +0100
committern-peugnet <n.peugnet@free.fr>2022-03-24 14:06:24 +0100
commitafbb146611617f549789988dc2ca9a52db4fb694 (patch)
treeafe9581100dbd4ea3f053685b341e62061b67998 /Makefile
parent742620eedb11e7ef729c8c2e5e7d934f522e13ce (diff)
downloadclub1-docs-afbb146611617f549789988dc2ca9a52db4fb694.tar.gz
club1-docs-afbb146611617f549789988dc2ca9a52db4fb694.zip
rework makefile for locales
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile50
1 files changed, 31 insertions, 19 deletions
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