]> git.donarmstrong.com Git - lilypond.git/blobdiff - make/ly-rules.make
Add '-dcrop' option to ps and svg backends
[lilypond.git] / make / ly-rules.make
index b9581518ca2974720a01b114857e0f2fb79b86a2..a9137b39acf4f24a2b66de9e35bc162b5148e449 100644 (file)
@@ -1,31 +1,34 @@
-.SUFFIXES: .doc .dvi .tely .texi .ly
+.SUFFIXES: .doc .tely .texi .ly
 
+# TODO: fix hardcoded out/ ?
+LYS_OUTPUT_OPTION= --lily-output-dir $(LYS_OUTPUT_DIR)
+LYS_OUTPUT_DIR=$(top-build-dir)/out/lybook-db
+LILYPOND_BOOK_FLAGS += $(LYS_OUTPUT_OPTION)
+$(outdir)/%.latex: %.doc $(INIT_LY_SOURCES) $(SCHEME_SOURCES)
+       LILYPOND_VERSION=$(TOPLEVEL_VERSION) PDFTEX=$(PDFTEX) PDFLATEX=$(PDFLATEX) $(PYTHON) $(LILYPOND_BOOK) $(LILYPOND_BOOK_INCLUDES) --process='$(LILYPOND_BOOK_PROCESS) $(LILYPOND_BOOK_LILYPOND_FLAGS)' --output=$(outdir) $(LILYPOND_BOOK_FLAGS) --redirect-lilypond-output $<
 
-$(outdir)/%.latex $(outdir)/%.fonts.ps:  %.doc
-       $(PYTHON) $(LILYPOND_BOOK) $(LILYPOND_BOOK_INCLUDES) --process='$(LILYPOND) $(LILYPOND_BOOK_INCLUDES)' --output=$(outdir) --verbose $(LILYPOND_BOOK_FLAGS) $<
+
+# This allows -j make option while making sure only one lilypond-book instance
+# is running at the same time, using GNU make's order-only prerequisites so
+# as to not create superficial dependencies between unrelated manuals.
+define CHAIN_RULE
+| $(i)
+$(i): 
+endef
+
+$(eval $(firstword $(TEXI_FILES_FROM_TELY)):\
+ $(foreach i, $(wordlist 2, $(words $(TEXI_FILES_FROM_TELY)),\
+ $(TEXI_FILES_FROM_TELY)),$(CHAIN_RULE)))
 
 # don't do ``cd $(outdir)'', and assume that $(outdir)/.. is the src dir.
 # it is not, for --srcdir builds
-$(outdir)/%.texi: %.tely
-       rm -f $$(grep -LF '% eof' $(outdir)/lily-*systems.tex 2>/dev/null)
-       $(PYTHON) $(LILYPOND_BOOK) --psfonts=$(basename $<).fonts.ps $(LILYPOND_BOOK_INCLUDES) --process='$(LILYPOND) $(LILYPOND_BOOK_INCLUDES)' --output=$(outdir) --format=$(LILYPOND_BOOK_FORMAT) --verbose $(LILYPOND_BOOK_FLAGS) $<
-
-$(outdir)/%.texi: $(outdir)/%.tely
-       rm -f $$(grep -LF '% eof' $(outdir)/lily-*systems.tex 2>/dev/null)
-       $(PYTHON) $(LILYPOND_BOOK) --psfonts=$(notdir $(basename $<)).fonts.ps $(LILYPOND_BOOK_INCLUDES) --process='$(LILYPOND) $(LILYPOND_BOOK_INCLUDES)' --output=$(outdir) --format=$(LILYPOND_BOOK_FORMAT) --verbose $(LILYPOND_BOOK_FLAGS) $<
-#
-# DON'T REMOVE SOURCE FILES, otherwise the .TEXI ALWAYS OUT OF DATE.
-#      rm -f $<
-
-# nexi: n[o-lilypond t]exi
-# for plain info doco: don't run lilypond
-$(outdir)/%.nexi: %.tely
-       rm -f $(outdir)/$*.texi
-       $(PYTHON) $(LILYPOND_BOOK) $(LILYPOND_BOOK_INCLUDES) --output=$(outdir) --format=$(LILYPOND_BOOK_FORMAT) --verbose $(LILYPOND_BOOK_FLAGS) --process='true' $<
-       mv $(outdir)/$*.texinfo $@ 2>/dev/null || mv $(outdir)/$*.texi $@
-
-$(outdir)/%.info: $(outdir)/%.nexi
-       $(MAKEINFO) -I $(outdir) --output=$(outdir)/$(*F).info $<
+$(outdir)/%.texi: %.tely $(outdir)/version.itexi $(DOCUMENTATION_LOCALE_TARGET) $(INIT_LY_SOURCES) $(SCHEME_SOURCES)
+       LILYPOND_VERSION=$(TOPLEVEL_VERSION) PDFTEX=$(PDFTEX) PDFLATEX=$(PDFLATEX) $(PYTHON) $(LILYPOND_BOOK) $(LILYPOND_BOOK_INCLUDES) --process='$(LILYPOND_BOOK_PROCESS) $(LILYPOND_BOOK_LILYPOND_FLAGS)' --output=$(outdir) --format=$(LILYPOND_BOOK_FORMAT) $(LILYPOND_BOOK_FLAGS) --redirect-lilypond-output $<
+
+
+$(outdir)/%.texi: $(outdir)/%.tely $(outdir)/version.itexi $(DOCUMENTATION_LOCALE_TARGET) $(INIT_LY_SOURCES) $(SCHEME_SOURCES)
+       LILYPOND_VERSION=$(TOPLEVEL_VERSION) PDFTEX=$(PDFTEX) PDFLATEX=$(PDFLATEX) $(PYTHON) $(LILYPOND_BOOK) $(LILYPOND_BOOK_INCLUDES) --process='$(LILYPOND_BOOK_PROCESS) $(LILYPOND_BOOK_INCLUDES) $(LILYPOND_BOOK_LILYPOND_FLAGS)' --output=$(outdir) --format=$(LILYPOND_BOOK_FORMAT) $(LILYPOND_BOOK_FLAGS) --redirect-lilypond-output $<
+
 
 $(outdir)/%.html.omf: %.tely
        $(call GENERATE_OMF,html)
@@ -33,14 +36,15 @@ $(outdir)/%.html.omf: %.tely
 $(outdir)/%.pdf.omf: %.tely
        $(call GENERATE_OMF,pdf)
 
-$(outdir)/%.ps.gz.omf: %.tely
-       $(call GENERATE_OMF,ps.gz) 
-
-$(outdir)/%.html.omf: $(outdir)/%.texi
+$(outdir)/%.html.omf: $(outdir)/%.texi | $(OUT_TEXINFO_MANUALS)
        $(call GENERATE_OMF,html)
 
-$(outdir)/%.pdf.omf: $(outdir)/%.texi
+$(outdir)/%.pdf.omf: $(outdir)/%.texi | $(OUT_TEXINFO_MANUALS)
        $(call GENERATE_OMF,pdf)
 
-$(outdir)/%.ps.gz.omf: $(outdir)/%.texi
-       $(call GENERATE_OMF,ps.gz) 
+$(outdir)/others-did.itexi $(outdir)/we-wrote.itexi: $(outdir)/%.itexi: $(top-src-dir)/Documentation/web/%.bib $(top-src-dir)/Documentation/lily-bib.bst
+       BSTINPUTS=$(top-src-dir)/Documentation/web/ $(buildscript-dir)/bib2texi \
+               -s $(top-src-dir)/Documentation/lily-bib \
+               -o $(outdir)/$*.itexi \
+               -q \
+               $(top-src-dir)/Documentation/web/$*.bib