Docs: NR B.6 The Feta font: Add menu; separate into nodes.
[lilypond/mpolesky.git] / Documentation / GNUmakefile
blob03a6a8a909d29e6f40b3ad59dac6e7ca90bbea8c
1 depth = ..
3 NAME = documentation
4 LANGS = $(shell $(PYTHON) $(top-src-dir)/python/langdefs.py)
5 SUBDIRS=devel user bibliography pictures topdocs misc po $(LANGS)
6 STEPMAKE_TEMPLATES=documentation texinfo tex
7 LOCALSTEPMAKE_TEMPLATES=lilypond ly
8 LILYPOND_BOOK_FLAGS=--extra-options '-e "(ly:set-option (quote internal-type-checking) \#t)"'
9 README_TOP_FILES= DEDICATION THANKS
11 include $(depth)/make/stepmake.make
13 HTML_PAGE_NAMES= index translations
14 OUT_HTML_FILES= $(HTML_PAGE_NAMES:%=$(outdir)/%.html)
15 OUT_CSS_FILES= $(CSS_FILES:%.css=$(outdir)/%.css)
17 default: local-doc
19 ifeq ($(out),www)
20 local-WWW-2: txt-to-html $(OUT_HTML_FILES)
22 local-WWW-clean: deep-WWW-clean
24 deep-WWW-clean:
25 rm -rf $(outdir)/wiki-dump
26 endif
28 OUT_TXT_FILES = $(addprefix $(outdir)/, $(addsuffix .txt, $(README_TOP_FILES)))
30 # cd $(outdir) rule gets bit hairy for --srcdir configure builds
31 txt-to-html:
32 $(foreach a, $(README_TOP_FILES), cp $(top-src-dir)/$(a) $(outdir)/$(a).txt && ) true
33 $(PYTHON) $(step-bindir)/text2html.py $(OUT_TXT_FILES)
35 $(OUT_HTML_FILES): $(OUT_CSS_FILES)
37 $(outdir)/%.css: %.css
38 ln -f $< $@
41 ### Translations maintenance targets
43 po-update:
44 make -C po po-update
46 all-translations-update: po-update translation-status
47 $(foreach lang, $(LANGS), make ISOLANG=$(lang) skeleton-update snippet-update &&) true
49 ifneq ($(NO_COLOR),)
50 CHECK_TRANSLATION_FLAGS = --no-color
51 endif
53 ifneq ($(ISOLANG),)
54 new-lang:
55 @if (( $$(file -b $(ISOLANG)) == directory )) 2>/dev/null; \
56 then echo "Error: $(ISOLANG) directory already exists. Exiting." ; \
57 exit 3 ; \
59 mkdir -p $(ISOLANG)/user
60 cp fr/GNUmakefile $(ISOLANG)
61 cp fr/user/GNUmakefile $(ISOLANG)/user
62 sed -i -e 's/ISOLANG *= *fr/ISOLANG = $(ISOLANG)/' $(ISOLANG)/GNUmakefile $(ISOLANG)/user/GNUmakefile
63 $(auxscript-dir)/texi-langutils.py -d $(outdir) -l $(ISOLANG) -o doc.pot --skeleton --gettext ../user/lilypond-learning.tely
64 mv $(outdir)/*.*tely $(ISOLANG)/user
65 msgmerge -U po/lilypond-doc.pot $(outdir)/doc.pot
66 cp po/lilypond-doc.pot po/$(ISOLANG).po
67 @echo "*** Please add a language definition for $(ISOLANG) in python/langdefs.py ***"
69 CHECKED_FILES = $(ISOLANG)/index.html.in $(shell find $(ISOLANG)/user/ -maxdepth 1 -name '*.*te??') \
70 $(shell find $(depth)/input/texidocs/ -name '*.texidoc')
72 TELY_FILES = $(call src-wildcard,$(ISOLANG)/user/*.tely)
73 skeleton-update:
74 $(auxscript-dir)/texi-langutils.py -d $(outdir) -l $(ISOLANG) --skeleton $(TELY_FILES:$(ISOLANG)/user/%.tely=../user/%.tely)
75 $(auxscript-dir)/texi-skeleton-update.py $(ISOLANG)/user $(outdir)
77 snippet-update:
78 $(auxscript-dir)/update-snippets.py user $(ISOLANG)/user '*.itely'
80 DOCUMENTS_INCLUDES:=-I $(ISOLANG)/user \
81 -I $(top-build-dir)/Documentation/$(ISOLANG)/user/out-www \
82 -I $(top-src-dir)/input/lsr \
83 -I $(top-build-dir)/input/lsr/out-www \
84 -I user -I $(top-build-dir)/Documentation/user/out-www
86 else # ISOLANG is empty
88 DOCUMENTS_INCLUDES:=-I user \
89 -I $(top-build-dir)/Documentation/user/out-www \
90 -I $(top-src-dir)/input/lsr \
91 -I $(top-build-dir)/input/lsr/out-www
93 endif # ISOLANG
95 check-xrefs:
96 $(auxscript-dir)/check_texi_refs.py --batch \
97 $(DOCUMENTS_INCLUDES) $(auxpython-dir)/manuals_definitions.py
99 fix-xrefs:
100 $(auxscript-dir)/check_texi_refs.py --auto-fix \
101 $(DOCUMENTS_INCLUDES) $(auxpython-dir)/manuals_definitions.py
103 check-translation:
104 ISOLANG=$(ISOLANG) $(auxscript-dir)/check_translation.py $(CHECK_TRANSLATION_FLAGS) $(CHECKED_FILES)
106 update-translation:
107 ISOLANG=$(ISOLANG) $(auxscript-dir)/check_translation.py --update $(CHECK_TRANSLATION_FLAGS) $(CHECKED_FILES)
109 translation-status:
110 make -C po out=www messages
111 $(auxscript-dir)/translations-status.py
113 local-help: extra-local-help
115 extra-local-help:
116 @echo -e "\
117 check-xrefs [ISOLANG=LL] validate Texinfo cross-references\n\
118 fix-xrefs [ISOLANG=LL] interactively fix Texinfo cross-references (use with caution)\n\
120 Translations specific targets (see TRANSLATION for details):\n\
121 new-lang ISOLANG=LL create and initialize subdirectory \'LL' for language \'LL\n\
122 po-update update and replace PO files for documentation with msgmerged versions\n\
123 check-translation ISOLANG=LL show changes in English docs since last translation update\n\
124 update-translation ISOLANG=LL call $$$$EDITOR to help updating the translation\n\
125 skeleton-update ISOLANG=LL update Texinfo skeleton files\n\
126 snippet-update ISOLANG=LL update ly snippets in Texinfo translation according to\n\
127 docs in English (use with caution)\n\
129 LL refers to the desired locale (most often only the ISO 639 language code).\n"
131 info:
132 $(MAKE) -C user info