NAME = documentation
LANGS = $(shell $(PYTHON) $(top-src-dir)/python/langdefs.py)
-MANUALS_SUBDIRS = usage automated-engraving contributor essay \
+MANUALS_SUBDIRS = usage contributor essay \
web learning notation extending
SUBDIRS = $(MANUALS_SUBDIRS) snippets logo pictures misc po css topdocs \
included $(LANGS)
IN_ITELY_FILES = $(call src-wildcard,snippets/*-intro.itely)
SNIPPET_LY_FILES = $(call src-wildcard,snippets/*.ly)
-EXTRA_DIST_FILES = $(call src-wildcard,*.init)
+EXTRA_DIST_FILES = $(call src-wildcard,*.init) $(call src-wildcard,*.bst)
### Out files
PDF_FILES = $(TEXINFO_MANUALS:%=$(outdir)/%.pdf)
TOPDIR_HTML_MANUALS =
-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),\
+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)
+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
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
+
+### 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)/others-did.itexi:
+ BSTINPUTS=$(src-dir)/web/ $(buildscript-dir)/bib2texi \
+ -s $(top-src-dir)/Documentation/lily-bib \
+ -o $(outdir)/others-did.itexi \
+ $(src-dir)/web/others-did.bib
+
+$(outdir)/we-wrote.itexi:
+ BSTINPUTS=$(src-dir)/web/ $(buildscript-dir)/bib2texi \
+ -s $(top-src-dir)/Documentation/lily-bib \
+ -o $(outdir)/we-wrote.itexi \
+ $(src-dir)/web/we-wrote.bib
+
###########
### Targets
@echo " last translation update"
@echo " update-translation ISOLANG=LL call $$$$EDITOR to help updating"
@echo " the translation"
- @echo " skeleton-update ISOLANG=LL update Texinfo skeleton files"
@echo " snippet-update ISOLANG=LL update ly snippets in Texinfo translation"
@echo " according to docs in English"
@echo " (use with caution)"
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)
endif
+endif
+
#########
### Rules
$(foreach a, $(README_TOP_FILES), cp $(top-src-dir)/$(a) $(outdir)/$(a).txt && ) true
$(PYTHON) $(step-bindir)/text2html.py $(OUT_TXT_FILES)
+# Explicitly list the dependencies on generated content
+$(outdir)/web.texi: $(outdir)/we-wrote.itexi $(outdir)/others-did.itexi $(outdir)/weblinks.itexi
+
ifeq ($(out),www)
## Extra images dependencies
$(OUT_TEXINFO_MANUALS): $(outdir)/pictures
$(MAKE) -C pictures WWW-1
ln -sf ../pictures/$(outdir) $@
-$(outdir)/web.texi: $(outdir)/ly-examples
+$(outdir)/web.texi: $(outdir)/css $(outdir)/ly-examples
+
+$(outdir)/css:
+ $(MAKE) -C css
+ ln -sf ../css/$(outdir) $@
$(outdir)/ly-examples:
$(MAKE) -C web/ly-examples
ln -sf ../web/ly-examples/$(outdir) $@
endif
+
# Ugh, using '%' twice not possible
$(outdir)/notation/notation.xml: $(outdir)/notation.texi
mkdir -p $(dir $@)
$(outdir)/learning.texi $(outdir)/notation.texi: $(OUT_PDF_IMAGES)
-$(foreach manual, $(MANUAL_SUBDIRS),\
-$(eval $(outdir)/(manual).texi: $(call src-wildcard,$(manual)/*.ite??)))
-
-
-
$(outdir)/source:
@rm -f $(@)
ln -sf $(depth) $(@)
ln -sf $(depth)/.. $(@)
-## Snippets rules idiosyncrases
+## Snippets rules idiosyncrasies
$(outdir)/%.itely: snippets/%-intro.itely snippets/%.snippet-list
xargs $(LYS_TO_TELY) -f doctitle,texidoc,verbatim --name=$@ --template=$< < $(filter %.snippet-list, $^)
$(outdir)/%.bib: %.bib
ln -f $< $@
+$(outdir)/%.js: %.js
+ ln -f $< $@
+
+$(outdir)/%.php: %.php
+ ln -f $< $@
+
## notation.texi deps
$(top-build-dir)/mf/$(outconfbase)/feta16list.ly:
$(MAKE) -C $(top-src-dir)/mf
TELY_FILES = $(call src-wildcard,$(ISOLANG)/*.tely)
skeleton-update:
+ @echo "$@ has been discontinued"
+ @echo "simply copy .texi, .itexi files you want to translate"
+ exit 2
mkdir -p $(ISOLANG)
$(PYTHON) $(auxscript-dir)/texi-langutils.py -d $(outdir) -l $(ISOLANG) $(TEXI_LANGUTIL_FLAGS) $(TELY_FILES:$(ISOLANG)/%.tely=../%.tely)
$(PYTHON) $(auxscript-dir)/texi-skeleton-update.py $(ISOLANG) $(outdir)
update-translation:
ISOLANG=$(ISOLANG) $(PYTHON) $(auxscript-dir)/check_translation.py --update $(CHECK_TRANSLATION_FLAGS) $(TRANSLATION_FILES)
+# what's it gonna be, boy...tranlationS-/translation-
translation-status:
- @echo Target temporarily disabled
+ PYTHONPATH=$(top-src-dir)/python:$(top-src-dir)/python/auxiliar $(PYTHON) $(top-src-dir)/scripts/auxiliar/translations-status.py
.SECONDARY: