]> git.donarmstrong.com Git - lilypond.git/blobdiff - stepmake/stepmake/texinfo-rules.make
Issue 5126: Prevent Ghostscript's unwanted automatic page rotation
[lilypond.git] / stepmake / stepmake / texinfo-rules.make
index ce6c647792b10c2fb34562f2e90f7978c438e0c1..df04e1ebe33e765c85b7f502bb0852b0a03be6e0 100644 (file)
@@ -23,35 +23,64 @@ ifneq ($(INFO_IMAGES_DIR),)
 endif
        touch $@
 
-$(outdir)/%.texi: %.texi
-       cp -p $< $@
+# Copy files while tracking their dependencies.
+$(outdir)/%.texi: %.texi $(outdir)/version.itexi
+       mkdir -p $(dir $@)
+       $(DO_TEXI_DEP) cp -f $< $@
 
-$(outdir)/%.info: $(outdir)/%.texi $(outdir)/$(INFO_IMAGES_DIR).info-images-dir-dep $(outdir)/version.itexi
-       $(MAKEINFO) -I$(src-dir) -I$(outdir) --output=$@ $<
+$(outdir)/%.itexi: %.itexi
+       mkdir -p $(dir $@)
+       $(DO_TEXI_DEP) cp -f $< $@
 
-$(outdir)/%-big-page.html: $(outdir)/%.texi $(XREF_MAPS_DIR)/%.xref-map $(outdir)/version.itexi
-       $(TEXI2HTML) $(TEXI2HTML_FLAGS) -D bigpage --output=$@ $<
+$(outdir)/%.info: $(outdir)/%.texi $(outdir)/$(INFO_IMAGES_DIR).info-images-dir-dep $(outdir)/version.itexi $(outdir)/weblinks.itexi | $(OUT_TEXINFO_MANUALS)
+ifeq ($(WEB_VERSION),yes)
+       $(buildscript-dir)/run-and-check "$(MAKEINFO) -I$(src-dir) -I$(outdir) -D web_version --output=$@ $<" "$*.makeinfoweb.log"
+else
+       $(buildscript-dir)/run-and-check "$(MAKEINFO) -I$(src-dir) -I$(outdir) --output=$@ $<" "$*.makeinfo.log"
+endif
 
-$(outdir)/%.html: $(outdir)/%.texi $(XREF_MAPS_DIR)/%.xref-map $(outdir)/version.itexi
-       $(TEXI2HTML) $(TEXI2HTML_FLAGS) --output=$@ $<
+$(outdir)/%-big-page.html: $(outdir)/%.texi $(XREF_MAPS_DIR)/%.xref-map $(outdir)/version.itexi $(outdir)/weblinks.itexi | $(OUT_TEXINFO_MANUALS)
+ifeq ($(WEB_VERSION),yes)
+       $(buildscript-dir)/run-and-check "DEPTH=$(depth) AJAX_SEARCH=$(AJAX_SEARCH) $(TEXI2HTML) $(TEXI2HTML_FLAGS) -D bigpage -D web_version --output=$@ $<"  "$*.bigtexi.log"
+else
+       $(buildscript-dir)/run-and-check "DEPTH=$(depth) AJAX_SEARCH=$(AJAX_SEARCH) $(TEXI2HTML) $(TEXI2HTML_FLAGS) -D bigpage --output=$@ $<"  "$*.bigtexi.log"
+endif
 
-$(outdir)/%/index.html: $(outdir)/%.texi $(XREF_MAPS_DIR)/%.xref-map $(outdir)/version.itexi $(outdir)/%.html.omf
-       mkdir -p $(dir $@)
-       $(TEXI2HTML) $(TEXI2HTML_FLAGS) --output=$(dir $@) $(TEXI2HTML_SPLIT) $<
-       cp $(top-src-dir)/Documentation/css/*.css $(dir $@)
+$(outdir)/%.html: $(outdir)/%.texi $(XREF_MAPS_DIR)/%.xref-map $(outdir)/version.itexi $(outdir)/weblinks.itexi | $(OUT_TEXINFO_MANUALS)
+       $(buildscript-dir)/run-and-check "DEPTH=$(depth) AJAX_SEARCH=$(AJAX_SEARCH) $(TEXI2HTML) $(TEXI2HTML_FLAGS) --output=$@ $<"  "$*.texilog.log"
 
-$(XREF_MAPS_DIR)/%.xref-map: $(outdir)/%.texi
-       $(buildscript-dir)/extract_texi_filenames $(XREF_MAP_FLAGS) -o $(XREF_MAPS_DIR) $<
-       touch -r $< $@
 
-$(outdir)/%.info: %.texi $(outdir)/$(INFO_IMAGES_DIR).info-images-dir-dep $(outdir)/version.itexi
-       $(MAKEINFO) -I$(src-dir) -I$(outdir) --output=$@ $<
+$(outdir)/%/index.html: $(outdir)/%.texi $(XREF_MAPS_DIR)/%.xref-map $(outdir)/version.itexi $(outdir)/weblinks.itexi $(outdir)/%.html.omf | $(OUT_TEXINFO_MANUALS)
+       mkdir -p $(dir $@)
+ifeq ($(WEB_VERSION),yes)
+       $(buildscript-dir)/run-and-check "DEPTH=$(depth)/../ AJAX_SEARCH=$(AJAX_SEARCH) $(TEXI2HTML) $(TEXI2HTML_SPLIT) $(TEXI2HTML_FLAGS) -D web_version --output=$(dir $@) $<"  "$*.splittexi.log"
+else
+       $(buildscript-dir)/run-and-check "DEPTH=$(depth)/../ AJAX_SEARCH=$(AJAX_SEARCH) $(TEXI2HTML) $(TEXI2HTML_SPLIT) $(TEXI2HTML_FLAGS) --output=$(dir $@) $<"  "$*.splittexi.log"
+endif
+
+ifneq ($(ISOLANG),)
+$(XREF_MAPS_DIR)/%.$(ISOLANG).xref-map: $(outdir)/%.texi $(XREF_MAPS_DIR)/%.xref-map | $(OUT_TEXINFO_MANUALS)
+       $(buildscript-dir)/extract_texi_filenames $(XREF_MAP_FLAGS) -q -o $(XREF_MAPS_DIR) --master-map-file=$(XREF_MAPS_DIR)/$*.xref-map $<
+else
+$(XREF_MAPS_DIR)/%.xref-map: $(outdir)/%.texi | $(OUT_TEXINFO_MANUALS)
+       $(buildscript-dir)/extract_texi_filenames $(XREF_MAP_FLAGS) -q -o $(XREF_MAPS_DIR) $<
+endif
 
-$(outdir)/%.pdf: $(outdir)/%.texi $(outdir)/version.itexi $(outdir)/%.pdf.omf
-       cd $(outdir); texi2pdf $(TEXI2PDF_FLAGS) -I $(abs-src-dir) --batch $(TEXINFO_PAPERSIZE_OPTION) $(<F)
+$(outdir)/%.pdf: $(outdir)/%.texi $(outdir)/version.itexi $(outdir)/%.pdf.omf $(outdir)/weblinks.itexi | $(OUT_TEXINFO_MANUALS)
+ifeq ($(WEB_VERSION),yes)
+       PDFTEX=$(PDFTEX) PDFLATEX=$(PDFLATEX) $(buildscript-dir)/run-and-check "cd $(outdir); texi2pdf $(TEXI2PDF_FLAGS) -D web_version -I $(abs-src-dir) $(TEXINFO_PAPERSIZE_OPTION) $(<F) < /dev/null" "$*.texi2pdf.log"
+else
+       PDFTEX=$(PDFTEX) PDFLATEX=$(PDFLATEX) $(buildscript-dir)/run-and-check "cd $(outdir); texi2pdf $(TEXI2PDF_FLAGS) -I $(abs-src-dir) $(TEXINFO_PAPERSIZE_OPTION) $(<F) < /dev/null" "$*.texi2pdf.log"
+endif
+ifeq ($(USE_EXTRACTPDFMARK),yes)
+       $(EXTRACTPDFMARK) -o $(outdir)/$*.pdfmark $@
+       $(GS920) -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -dAutoRotatePages=/None -sOutputFile=$(outdir)/$*.final.pdf -c "30000000 setvmthreshold" -f $(top-build-dir)/out-fonts/*.font.ps $(outdir)/$*.pdfmark $@
+       rm $@
+       mv $(outdir)/$*.final.pdf $@
+endif
 
-$(outdir)/%.txt: $(outdir)/%.texi $(outdir)/version.itexi
-       $(MAKEINFO) -I$(src-dir) -I$(outdir) --no-split --no-headers --output $@ $<
+$(outdir)/%.txt: $(outdir)/%.texi $(outdir)/version.itexi $(outdir)/weblinks.itexi | $(OUT_TEXINFO_MANUALS)
+       $(buildscript-dir)/run-and-check "$(MAKEINFO) -I$(src-dir) -I$(outdir) --no-split --no-headers --output $@ $<"  "$*.makeinfotxt.log"
 
 $(outdir)/%.html.omf: %.texi
        $(call GENERATE_OMF,html)
@@ -59,11 +88,8 @@ $(outdir)/%.html.omf: %.texi
 $(outdir)/%.pdf.omf: %.texi
        $(call GENERATE_OMF,pdf)
 
-$(outdir)/version.%: $(top-src-dir)/VERSION
-       echo '@macro version'> $@
-       echo $(TOPLEVEL_VERSION)>> $@
-       echo '@end macro'>> $@
+$(outdir)/version.itexi: $(top-src-dir)/VERSION
+       $(PYTHON) $(top-src-dir)/scripts/build/create-version-itexi.py > $@
 
-.SECONDARY: $(outdir)/version.itexi $(outdir)/version.texi \
-  $(outdir)/$(INFO_IMAGES_DIR).info-images-dir-dep \
-  $(outdir)/*.texi
+$(outdir)/weblinks.itexi: $(top-src-dir)/VERSION
+       $(PYTHON) $(top-src-dir)/scripts/build/create-weblinks-itexi.py > $@