]> git.donarmstrong.com Git - lilypond.git/blobdiff - stepmake/stepmake/texinfo-rules.make
Add Contributors' Guide stub and clean up makefiles
[lilypond.git] / stepmake / stepmake / texinfo-rules.make
index 253c3d6bef05fdd0e559d2281b55f548ffa059f9..a49c86a87f4f65d150eea9b0d400e55a64c4b5ec 100644 (file)
@@ -6,56 +6,51 @@
 # $(outdir)/$(INFO_IMAGES_DIR)/*.png symlinks are only needed to view
 # out-www/*.info with Emacs -- HTML docs no longer need these
 # symlinks, see replace_symlinks_urls in
-# buildscripts/add_html_footer.py.
-
-ifneq ($(INFO_IMAGES_DIR),)
+# python/auxiliar/postprocess_html.py.
 
 # make dereferences symlinks, and $(INFO_IMAGES_DIR) is a symlink
 # to $(outdir), so we can't use directly $(INFO_IMAGES_DIR) as a
 # prerequisite, otherwise %.info are always outdated (because older
-# than $(outdir), hence this .dep file
-
-$(outdir)/%.info-images-dir.dep: $(outdir)/%.texi
-       rm -f $*
-       ln -s $(outdir) $*
-       mkdir -p $(outdir)/$*
-       find $(outdir)/$*/ -name '*'.png | xargs rm -f
-       (cd $(outdir)/$*/ ; ln -sf ../*.png . )
-       touch $@
-
-else
+# than $(outdir)), hence this .dep file
 
-$(outdir)/.info-images-dir.dep:
+$(outdir)/$(INFO_IMAGES_DIR).info-images-dir-dep: $(INFO_DOCS:%=$(outdir)/%.texi)
+ifneq ($(INFO_IMAGES_DIR),)
+       rm -f $(INFO_IMAGES_DIR)
+       ln -s $(outdir) $(INFO_IMAGES_DIR)
+       mkdir -p $(outdir)/$(INFO_IMAGES_DIR)
+       rm -f $(outdir)/$(INFO_IMAGES_DIR)/[a-f0-9][a-f0-9]
+       cd $(outdir)/$(INFO_IMAGES_DIR) && $(buildscript-dir)/mass-link symbolic .. . [a-f0-9][a-f0-9]
+endif
        touch $@
 
-endif
+$(outdir)/%.info: $(outdir)/%.texi $(outdir)/$(INFO_IMAGES_DIR).info-images-dir-dep $(outdir)/version.itexi
+       $(MAKEINFO) -I$(src-dir) -I$(outdir) --output=$@ $<
 
-# Settings for texi2html:
-ifneq ($(ISOLANG),) 
-TEXI2HTML_LANG = --lang=$ISOLANG
-endif
-TEXI2HTML_FLAGS += --css-ref=lilypond.css $(DOCUMENTATION_INCLUDES)
-TEXI2HTML = $(TEXI2HTML_PROGRAM) $(TEXI2HTML_FLAGS) $(TEXI2HTML_LANG)
+ifeq (,$(findstring texi2html,$(MISSING_OPTIONAL)))
+$(outdir)/%-big-page.html: $(outdir)/%.texi $(XREF_MAPS_DIR)/%.xref-map $(outdir)/version.itexi
+       $(TEXI2HTML) --I=$(src-dir) --I=$(outdir) -D bigpage --output=$@ $(TEXI2HTML_INIT) $<
+       cp $(top-src-dir)/Documentation/lilypond*.css $(dir $@)
 
+$(outdir)/%.html: $(outdir)/%.texi $(XREF_MAPS_DIR)/%.xref-map $(outdir)/version.itexi
+       $(TEXI2HTML) --I=$(src-dir) --I=$(outdir) --output=$@ $(TEXI2HTML_INIT) $<
+       cp $(top-src-dir)/Documentation/lilypond*.css $(dir $@)
 
+$(outdir)/%/index.html: $(outdir)/%.texi $(XREF_MAPS_DIR)/%.xref-map $(outdir)/version.itexi
+       mkdir -p $(dir $@)
+       $(TEXI2HTML) --I=$(src-dir) --I=$(outdir) --output=$(dir $@) --prefix=index --split=section $(TEXI2HTML_INIT) $<
+       cp $(top-src-dir)/Documentation/lilypond*.css $(dir $@)
 
-$(outdir)/%.info: $(outdir)/%.texi $(outdir)/$(INFO_IMAGES_DIR).info-images-dir.dep
-       $(MAKEINFO) -I$(outdir) --output=$@ $<
+else # Rules using makeinfo follow
+$(outdir)/%-big-page.html: $(outdir)/%.texi $(outdir)/version.itexi
+       $(MAKEINFO) -I$(src-dir) -I $(outdir) --output=$@ --css-include=$(top-src-dir)/Documentation/texinfo.css --html --no-split -D bigpage --no-headers $<
 
+$(outdir)/%.html: $(outdir)/%.texi $(outdir)/version.itexi
+       $(MAKEINFO) -I$(src-dir) -I$(outdir) --output=$@ --css-include=$(top-src-dir)/Documentation/texinfo.css --html --no-split --no-headers $<
 
-$(outdir)/%/index.html: $(outdir)/%.texi
+$(outdir)/%/index.html: $(outdir)/%.texi $(outdir)/version.itexi
        mkdir -p $(dir $@)
-       $(TEXI2HTML) --I=$(outdir) --output=$(dir $@) --prefix=index --split=section $(TEXI2HTML_INIT) $<
-       cp $(top-src-dir)/Documentation/lilypond.css $(dir $@)
-
-# TODO: Pass -D bigpage to texi2html
-$(outdir)/%-big-page.html: $(outdir)/%.texi
-       $(TEXI2HTML) --I=$(outdir) --output=$@ $(TEXI2HTML_INIT) $< 
-       cp $(top-src-dir)/Documentation/lilypond.css $(dir $@)
-
-$(outdir)/%.html: $(outdir)/%.texi
-       $(TEXI2HTML) --I=$(outdir) --output=$@ $(TEXI2HTML_INIT) $<
-       cp $(top-src-dir)/Documentation/lilypond.css $(dir $@)
+       $(MAKEINFO) -I$(src-dir) -I$(outdir) --output=$(dir $@) --css-include=$(top-src-dir)/Documentation/texinfo.css --html $<
+endif
 
 $(outdir)/%.html.omf: %.texi
        $(call GENERATE_OMF,html)
@@ -66,15 +61,26 @@ $(outdir)/%.pdf.omf: %.texi
 $(outdir)/%.ps.gz.omf: %.texi
        $(call GENERATE_OMF,ps.gz)
 
-$(outdir)/%.pdf: $(outdir)/%.texi
+$(outdir)/%.pdf: $(outdir)/%.texi $(outdir)/version.itexi
        cd $(outdir); texi2pdf $(TEXI2PDF_FLAGS) --batch $(TEXINFO_PAPERSIZE_OPTION) $(<F)
 
-$(outdir)/%.txt: $(outdir)/%.texi
-       $(MAKEINFO) -I $(src-dir) -I $(outdir) --no-split --no-headers --output $@ $<
 
-$(outdir)/%.texi: %.texi
-       rm -f $@
-       cp $< $@
+MAKEINFO_TXT_COMMAND = 
+
+$(outdir)/%.txt: $(outdir)/%.texi $(outdir)/version.itexi
+       $(MAKEINFO) -I$(src-dir) -I$(outdir) --no-split --no-headers --output $@ $<
 
+$(XREF_MAPS_DIR)/%.xref-map: $(outdir)/%.texi
+       $(buildscript-dir)/extract_texi_filenames -o $(XREF_MAPS_DIR) $<
+
+$(outdir)/%.texi: %.texi
+       cp -f $< $@
 
+$(outdir)/version.%: $(top-src-dir)/VERSION
+       echo '@macro version'> $@
+       echo $(TOPLEVEL_VERSION)>> $@
+       echo '@end macro'>> $@
 
+.SECONDARY: $(outdir)/version.itexi $(outdir)/version.texi \
+  $(outdir)/$(INFO_IMAGES_DIR).info-images-dir-dep \
+  $(outdir)/*.texi