X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=stepmake%2Fstepmake%2Ftexinfo-rules.make;h=6e3a102c2e2386377b833bf44e0b17e45fe4803f;hb=bc95f4434f760d41191341ab4508b2064eb19025;hp=8dbd7167f9d6f1af6a5c7b14ae6eea6b9fdc5905;hpb=d101d3a7b573511ece89dec3c507037275d5ac7f;p=lilypond.git diff --git a/stepmake/stepmake/texinfo-rules.make b/stepmake/stepmake/texinfo-rules.make index 8dbd7167f9..6e3a102c2e 100644 --- a/stepmake/stepmake/texinfo-rules.make +++ b/stepmake/stepmake/texinfo-rules.make @@ -1,37 +1,85 @@ .SUFFIXES: .html .info .texi .texinfo -$(outdir)/%.info: $(outdir)/%.texi - $(MAKEINFO) -I $(outdir) --output=$@ $< +# "makeinfo --info" MUST be able to read PNGs from CWD for info images +# to work, hence $(INFO_IMAGES_DIR) -> $(outdir)/ symlink. +# $(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 +# python/auxiliar/postprocess_html.py. -$(outdir)/%-big-page.html: $(outdir)/%.texi - $(MAKEINFO) -I $(outdir) --output=$@ --css-include=$(top-src-dir)/Documentation/texinfo.css --html --no-split -D bigpage --no-headers $< +# 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)/%.html: $(outdir)/%.texi - $(MAKEINFO) -I $(outdir) --output=$@ --css-include=$(top-src-dir)/Documentation/texinfo.css --html --no-split --no-headers $< +$(outdir)/$(INFO_IMAGES_DIR).info-images-dir-dep: $(OUT_TEXI_FILES) +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 $@ -$(outdir)/%.html.omf: %.texi - $(call GENERATE_OMF,html) +$(outdir)/%.texi: $(src-dir)/%.texi + cp -p $< $@ -$(outdir)/%.pdf.omf: %.texi - $(call GENERATE_OMF,pdf) +$(outdir)/%.info: $(outdir)/%.texi $(outdir)/$(INFO_IMAGES_DIR).info-images-dir-dep $(outdir)/version.itexi $(outdir)/weblinks.itexi +ifeq ($(WEB_VERSION),yes) + $(MAKEINFO) -I$(src-dir) -I$(outdir) -D web_version --output=$@ $< +else + $(MAKEINFO) -I$(src-dir) -I$(outdir) --output=$@ $< +endif + +$(outdir)/%-big-page.html: $(outdir)/%.texi $(XREF_MAPS_DIR)/%.xref-map $(outdir)/version.itexi $(outdir)/weblinks.itexi +ifeq ($(WEB_VERSION),yes) + DEPTH=$(depth) $(TEXI2HTML) $(TEXI2HTML_FLAGS) -D bigpage -D web_version --output=$@ $< +else + DEPTH=$(depth) $(TEXI2HTML) $(TEXI2HTML_FLAGS) -D bigpage --output=$@ $< +endif + +$(outdir)/%.html: $(outdir)/%.texi $(XREF_MAPS_DIR)/%.xref-map $(outdir)/version.itexi $(outdir)/weblinks.itexi + DEPTH=$(depth) $(TEXI2HTML) $(TEXI2HTML_FLAGS) --output=$@ $< -$(outdir)/%.ps.gz.omf: %.texi - $(call GENERATE_OMF,ps.gz) +$(outdir)/%/index.html: $(outdir)/%.texi $(XREF_MAPS_DIR)/%.xref-map $(outdir)/version.itexi $(outdir)/weblinks.itexi $(outdir)/%.html.omf + mkdir -p $(dir $@) +ifeq ($(WEB_VERSION),yes) + DEPTH=$(depth)/../ $(TEXI2HTML) $(TEXI2HTML_SPLIT) $(TEXI2HTML_FLAGS) -D web_version --output=$(dir $@) $< +else + DEPTH=$(depth)/../ $(TEXI2HTML) $(TEXI2HTML_SPLIT) $(TEXI2HTML_FLAGS) --output=$(dir $@) $< +endif + cp $(top-src-dir)/Documentation/css/*.css $(dir $@) -# Generic rule not possible? -$(outdir)/%/%.html: $(outdir)/%.texi - $(MAKEINFO) --output=$@ --css-include=$(top-src-dir)/Documentation/texinfo.css --html $< +$(XREF_MAPS_DIR)/%.xref-map: $(outdir)/%.texi + $(buildscript-dir)/extract_texi_filenames $(XREF_MAP_FLAGS) -o $(XREF_MAPS_DIR) $< -$(outdir)/%.pdf: $(outdir)/%.texi - cd $(outdir); texi2pdf $(TEXI2PDF_FLAGS) --batch $(TEXINFO_PAPERSIZE_OPTION) $( $@ +$(outdir)/weblinks.%: $(top-src-dir)/VERSION + $(PYTHON) $(top-src-dir)/scripts/build/create-weblinks-itexi.py > $@ +.SECONDARY: $(outdir)/version.itexi $(outdir)/version.texi \ + $(outdir)/$(INFO_IMAGES_DIR).info-images-dir-dep \ + $(outdir)/*.texi