X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=make%2Fly-rules.make;h=fbe81c281abe61c7c4de0a3caa5ecba3badb5847;hb=c633bea462ad673cf59f5288b87027c7519c4d4f;hp=caad2146d8b0dab7a699a6eeaa1c2b62cfd439dd;hpb=f96e38fbbbfba9cf4729323beb518a65ae77d562;p=lilypond.git diff --git a/make/ly-rules.make b/make/ly-rules.make index caad2146d8..fbe81c281a 100644 --- a/make/ly-rules.make +++ b/make/ly-rules.make @@ -1,24 +1,33 @@ .SUFFIXES: .doc .tely .texi .ly # TODO: fix hardcoded out/ ? -LYS_OUTPUT_OPTION= --lily-output-dir $(top-build-dir)/out/lybook-db/ +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 - $(PYTHON) $(LILYPOND_BOOK) $(LILYPOND_BOOK_INCLUDES) --process='$(LILYPOND_BOOK_PROCESS) $(LILYPOND_BOOK_INCLUDES) $(LILYPOND_BOOK_LILYPOND_FLAGS)' --output=$(outdir) $(LILYPOND_BOOK_FLAGS) $< +$(outdir)/%.latex: %.doc $(INIT_LY_SOURCES) $(SCHEME_SOURCES) + LILYPOND_VERSION=$(TOPLEVEL_VERSION) $(PYTHON) $(LILYPOND_BOOK) $(LILYPOND_BOOK_INCLUDES) --process='$(LILYPOND_BOOK_PROCESS) $(LILYPOND_BOOK_LILYPOND_FLAGS)' --output=$(outdir) $(LILYPOND_BOOK_FLAGS) --redirect-lilypond-output $< +# 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 $(outdir)/version.itexi - $(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) $< +$(outdir)/%.texi: %.tely $(outdir)/version.itexi $(DOCUMENTATION_LOCALE_TARGET) $(INIT_LY_SOURCES) $(SCHEME_SOURCES) + LILYPOND_VERSION=$(TOPLEVEL_VERSION) $(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 - $(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) $< -# -# DON'T REMOVE SOURCE FILES, otherwise the .TEXI ALWAYS OUT OF DATE. -# rm -f $< +$(outdir)/%.texi: $(outdir)/%.tely $(outdir)/version.itexi $(DOCUMENTATION_LOCALE_TARGET) $(INIT_LY_SOURCES) $(SCHEME_SOURCES) + LILYPOND_VERSION=$(TOPLEVEL_VERSION) $(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 @@ -27,14 +36,14 @@ $(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 $(call GENERATE_OMF,html) $(outdir)/%.pdf.omf: $(outdir)/%.texi $(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 \ + $(top-src-dir)/Documentation/web/$*.bib