parrot-wtf/Makefile

71 lines
2.5 KiB
Makefile
Raw Normal View History

2023-11-26 20:37:34 -07:00
2023-11-26 15:54:31 -07:00
# Makefile
# Jeff Moe with Parrot and Phind-CodeLlama-34B-v2_q8.gguf
2023-11-26 16:26:31 -07:00
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = docs/source
BUILDDIR = docs/build
AUTOBUILDOPTS = --host 127.0.0.1 --port 8000 --ignore "*.swp" --ignore "*.swx"
2023-11-26 20:29:32 -07:00
GETTEXT_BUILD = gettext_build
2023-11-27 12:47:11 -07:00
UPDATE_LOCALE = sphinx-intl update -p $(BUILDDIR)/locale/gettext -d $(SOURCEDIR)/locale -l
2023-11-27 10:10:14 -07:00
PO_FILES = $(wildcard docs/source/locale/*/LC_MESSAGES/*.po)
MSGATTRIB = msgattrib
2023-12-02 09:25:25 -07:00
LANGUAGES = am ar bn de el en eo es eu fil fr he hi id it ja ko lkt mr ms nl pl pt ru see ta te th tr ur vi zh
2023-11-26 16:26:31 -07:00
2023-11-27 12:47:11 -07:00
.PHONY: check help html livehtml clean_sphinx clean gettext_build update_locale build_html all copy clean_po
2023-11-27 09:10:33 -07:00
help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " clean Remove all build files and directories (including translations)"
@echo " all Clean and make all targets"
@echo " html Build the HTML documentation for all languages"
@echo " html_<lang> Build HTML documentation for a specific language"
@echo " update_locale Update localisation"
@echo " update_locale_<lang> Update localisation for <lang>"
@echo " gettext_build Build localisation strings for translation"
@echo " index Copy static docs/index.html to docs/build/html/index.html"
2023-11-26 20:37:34 -07:00
2023-12-02 16:39:34 -07:00
all: clean gettext_build update_locale html index
2023-11-27 11:52:30 -07:00
check:
@for po in $(PO_FILES); do \
echo "Checking $$po..."; \
msgfmt --check --output-file=- "$$po" || exit 1; \
done
2023-12-02 16:39:34 -07:00
index:
cp -p docs/index.html docs/build/html/index.html
2023-11-26 16:19:12 -07:00
2023-11-27 12:29:23 -07:00
clean:
for file in $(PO_FILES); do \
$(MSGATTRIB) --no-obsolete -o $$file $$file; \
done
2023-11-26 16:26:31 -07:00
cd docs && make clean
2023-11-27 12:43:31 -07:00
find $(SOURCEDIR) -type f -name "*.mo" -delete
2023-11-26 16:26:31 -07:00
rm -rf $(BUILDDIR)/*
2023-11-26 20:29:32 -07:00
gettext_build:
$(SPHINXBUILD) -b gettext -c $(SOURCEDIR) -d $(BUILDDIR)/doctrees/$(GETTEXT_BUILD) $(SOURCEDIR) $(BUILDDIR)/locale/gettext
2023-11-26 20:33:43 -07:00
2023-11-27 12:28:00 -07:00
update_locale:
2023-11-29 09:09:10 -07:00
@pids="" ; \
for lang in $(LANGUAGES); do \
( echo "Updating locale for $$lang..." ; $(UPDATE_LOCALE) $$lang ) & pids="$$pids $$!" ; \
done ; \
for pid in $$pids; do \
wait $$pid ; \
2023-11-27 12:47:11 -07:00
done
2023-11-27 10:19:44 -07:00
update_locale_%:
$(UPDATE_LOCALE) $*
2023-11-27 12:37:19 -07:00
html:
@for lang in $(LANGUAGES); do \
2023-11-27 12:47:11 -07:00
echo "Building HTML documentation for $$lang..."; \
$(SPHINXBUILD) -b html -d $(BUILDDIR)/doctrees -D language=$$lang $(SOURCEDIR) $(BUILDDIR)/html/$$lang; \
2023-11-27 12:47:11 -07:00
done
html_%: gettext_build
$(SPHINXBUILD) -b html -d $(BUILDDIR)/doctrees -D language=$* -c $(SOURCEDIR) $(SOURCEDIR) $(BUILDDIR)/html/$*/