X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2FGNUmakefile;h=b1c47c1f7950dbc79663ced0ba74a967b4d30b4e;hb=53da8b7d3773da804e79fd455d168efd9475d2f9;hp=3f3460998c0d5598a3640544df47c25635ab7bbe;hpb=865cf0815b8f89ac5d4be357d5c3e38d86699678;p=lilypond.git diff --git a/Documentation/GNUmakefile b/Documentation/GNUmakefile index 3f3460998c..b1c47c1f79 100644 --- a/Documentation/GNUmakefile +++ b/Documentation/GNUmakefile @@ -9,10 +9,10 @@ depth = .. NAME = documentation LANGS = $(shell $(PYTHON) $(top-src-dir)/python/langdefs.py) -MANUALS_SUBDIRS = usage automated-engraving contributor essay \ - general learning notation extending +MANUALS_SUBDIRS = usage contributor essay \ + web learning notation extending SUBDIRS = $(MANUALS_SUBDIRS) snippets logo pictures misc po css topdocs \ - included $(LANGS) + included ly-examples $(LANGS) STEPMAKE_TEMPLATES = documentation texinfo tex omf LOCALSTEPMAKE_TEMPLATES = lilypond ly @@ -23,7 +23,7 @@ TEXI2PDF_FLAGS = \ -I $(outdir) \ -I $(top-build-dir)/Documentation/$(outconfbase) $(outdir)/snippets-big-page.html: TEXI2HTML_FLAGS += -D short_toc -$(outdir)/snippets/index..html: TEXI2HTML_FLAGS += -D short_toc +$(outdir)/snippets/index.html: TEXI2HTML_FLAGS += -D short_toc ### Extra source files @@ -31,8 +31,9 @@ README_TOP_FILES= DEDICATION THANKS IN_ITELY_FILES = $(call src-wildcard,snippets/*-intro.itely) SNIPPET_LY_FILES = $(call src-wildcard,snippets/*.ly) +OUT_SNIPPET_LY_FILES = $(SNIPPET_LY_FILES:%.ly=out/%.ly) -EXTRA_DIST_FILES = $(call src-wildcard,*.init) search-box.html +EXTRA_DIST_FILES = $(call src-wildcard,*.init) $(call src-wildcard,*.bst) ### Out files @@ -56,52 +57,84 @@ TEXI_FILES_FROM_TELY = $(outdir)/internals.texi PDF_FILES = $(TEXINFO_MANUALS:%=$(outdir)/%.pdf) -TOPDIR_HTML_MANUALS = general -UNSPLITTED_HTML_MANUALS = -SPLITTED_HTML_MANUALS = $(foreach manual, $(TEXINFO_MANUALS),\ - $(if $(findstring $(manual), $(UNSPLITTED_HTML_MANUALS)),,$(manual))) -NOT_TOPDIR_HTML_MANUALS = $(foreach manual, $(SPLITTED_HTML_MANUALS),\ +TOPDIR_HTML_MANUALS = +UNSPLIT_HTML_MANUALS = +SPLIT_HTML_MANUALS = $(foreach manual, $(TEXINFO_MANUALS),\ + $(if $(findstring $(manual), $(UNSPLIT_HTML_MANUALS)),,$(manual))) +NOT_TOPDIR_HTML_MANUALS = $(foreach manual, $(SPLIT_HTML_MANUALS),\ $(if $(findstring $(manual), $(TOPDIR_HTML_MANUALS)),,$(manual))) -OUT_HTML_FILES = $(UNSPLITTED_HTML_MANUALS:%=$(outdir)/%.html)\ - $(SPLITTED_HTML_MANUALS:%=$(outdir)/%-big-page.html)\ - $(TOPDIR_HTML_MANUALS:%=$(outdir)/index.html) +OUT_HTML_FILES = $(UNSPLIT_HTML_MANUALS:%=$(outdir)/%.html)\ + $(SPLIT_HTML_MANUALS:%=$(outdir)/%-big-page.html) DEEP_HTML_FILES = $(NOT_TOPDIR_HTML_MANUALS:%=$(outdir)/%/index.html) # Symlinks to refer to external source documents from split and non-split HTML source-links = $(outdir)/source\ - $(foreach manual, $(SPLITTED_HTML_MANUALS), $(outdir)/$(manual)/source) + $(foreach manual, $(SPLIT_HTML_MANUALS), $(outdir)/$(manual)/source) # Other out files -HTML_PAGE_NAMES= translations -OUT_HTML_FILES += $(HTML_PAGE_NAMES:%=$(outdir)/%.html) - -MAIN_INFO_DOC = lilypond-notation +MAIN_INFO_DOC = lilypond-web INFO_DOCS = lilypond-usage lilypond-changes lilypond-contributor lilypond-internals \ lilypond-essay lilypond-learning lilypond-notation music-glossary \ - lilypond-general lilypond-extending + lilypond-web lilypond-extending ifeq ($(out),www) -INFO_DOCS += lilypond-snippets +INFO_DOCS += lilypond-snippets endif INFO_FILES = $(INFO_DOCS:%=$(outdir)/%.info) ifeq ($(out),www) INFO_IMAGES_DIR = lilypond -DEST_INFO_IMAGES_SUBDIR = Documentation/ +DEST_INFO_IMAGES_SUBDIR = Documentation endif include $(depth)/make/stepmake.make OUT_TXT_FILES = $(addprefix $(outdir)/, $(addsuffix .txt, $(README_TOP_FILES))) -### Web site idiosyncrases -$(outdir)/index.html: TEXI2HTML_INIT = $(WEB_TEXI2HTML_INIT) -$(outdir)/index.html: TEXI2HTML_SPLIT = $(WEB_TEXI2HTML_SPLIT) +### Web site idiosyncrasies +$(XREF_MAPS_DIR)/web.xref-map: XREF_MAP_FLAGS += --split=node + +### AJAX scripts +JS_FILES = $(call src-wildcard,*.js) +PHP_FILES = $(call src-wildcard,*.php) +EXTRA_DIST_FILES += $(JS_FILES) $(PHP_FILES) + +OUT_JS_FILES = $(JS_FILES:%.js=$(outdir)/%.js) +OUT_PHP_FILES = $(PHP_FILES:%.php=$(outdir)/%.php) + + + +### bad hack for badly-integrated roadmap. +$(outdir)/ROADMAP: + cp $(top-src-dir)/ROADMAP $(outdir) +$(outdir)/contributor.texi: $(outdir)/ROADMAP + +### bad hack for badly-integrated bibliography +$(outdir)/colorado.itexi: + BSTINPUTS=$(src-dir)/essay $(buildscript-dir)/bib2texi \ + -s $(top-src-dir)/Documentation/lily-bib \ + -o $(outdir)/colorado.itexi \ + $(src-dir)/essay/colorado.bib + +$(outdir)/computer-notation.itexi: + BSTINPUTS=$(src-dir)/essay $(buildscript-dir)/bib2texi \ + -s $(top-src-dir)/Documentation/lily-bib \ + -o $(outdir)/computer-notation.itexi \ + $(src-dir)/essay/computer-notation.bib + +$(outdir)/engravingbib.itexi: + BSTINPUTS=$(src-dir)/essay $(buildscript-dir)/bib2texi \ + -s $(top-src-dir)/Documentation/lily-bib \ + -o $(outdir)/engravingbib.itexi \ + $(src-dir)/essay/engravingbib.bib + +$(outdir)/essay.texi: \ + $(outdir)/colorado.itexi \ + $(outdir)/computer-notation.itexi \ + $(outdir)/engravingbib.itexi -$(outdir)/index.html: $(outdir)/general.texi - $(TEXI2HTML) $(TEXI2HTML_SPLIT) $(TEXI2HTML_FLAGS) --output $(outdir)/ $(outdir)/general.texi ########### ### Targets @@ -111,23 +144,29 @@ default: local-txt-doc local-help: extra-local-help extra-local-help: - @echo -e "\ - check-xrefs [ISOLANG=LL] validate Texinfo cross-references\n\ - fix-xrefs [ISOLANG=LL] interactively fix Texinfo cross-references (use with caution)\n\ - info update info pages\n\ - xml update Docbook xml documentation\n\ -\n\ -Translations specific targets (see TRANSLATION for details):\n\ - new-lang ISOLANG=LL create and initialize subdirectory \'LL' for language \'LL\n\ -(if \'LL exists, update missing file)\n\ - po-update update and replace PO files for documentation with msgmerged versions\n\ - check-translation ISOLANG=LL show changes in English docs since last translation update\n\ - update-translation ISOLANG=LL call $$$$EDITOR to help updating the translation\n\ - skeleton-update ISOLANG=LL update Texinfo skeleton files\n\ - snippet-update ISOLANG=LL update ly snippets in Texinfo translation according to\n\ - docs in English (use with caution)\n\ -\n\ -LL refers to the desired locale (most often only the ISO 639 language code).\n" + @echo " check-xrefs [ISOLANG=LL] validate Texinfo cross-references" + @echo " fix-xrefs [ISOLANG=LL] interactively fix Texinfo cross-references" + @echo " (use with caution)" + @echo " info update info pages" + @echo " xml update Docbook xml documentation" + @echo + @echo "Translations specific targets (see TRANSLATION for details):" + @echo " new-lang ISOLANG=LL create and initialize" + @echo " subdirectory \'LL' for language \'LL" + @echo " (if \'LL exists, update missing file)" + @echo " po-update update and replace PO files for" + @echo " documentation with msgmerged versions" + @echo " check-translation ISOLANG=LL show changes in English docs since" + @echo " last translation update" + @echo " update-translation ISOLANG=LL call $$$$EDITOR to help updating" + @echo " the translation" + @echo " snippet-update ISOLANG=LL update ly snippets in Texinfo translation" + @echo " according to docs in English" + @echo " (use with caution)" + @echo + @echo " LL refers to the desired locale" + @echo " (most often only the ISO 639 language code)." + @echo info: $(INFO_FILES) @echo export LILYPOND_DATADIR=$(LILYPOND_DATADIR) @@ -144,23 +183,31 @@ local-clean: ifeq ($(out),www) local-WWW-1: $(OUT_TEXINFO_MANUALS) $(PDF_FILES) info +ifeq ($(AJAX_SEARCH),1) +local-WWW-2: txt-to-html $(OUT_HTML_FILES) $(DEEP_HTML_FILES) $(OUT_JS_FILES) $(OUT_PHP_FILES) $(source-links) $(OMF_FILES) +else local-WWW-2: txt-to-html $(OUT_HTML_FILES) $(DEEP_HTML_FILES) $(source-links) $(OMF_FILES) - # fix links from other manuals to general - find $(outdir) -name "*.html" | xargs sed -i 's/\.\.\/general\//\.\.\//' - ls $(outdir)/*.html | xargs sed -i 's/