X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=make%2Fly-rules.make;h=a9137b39acf4f24a2b66de9e35bc162b5148e449;hb=fd1ca52ad6472f4eb07dacfdc25472e97ca6a170;hp=261a5b735557d91e8fc5926034e1b57dab6e9be9;hpb=a34b6c818f7168053cfa5fbcdd60e1b09db34ac8;p=lilypond.git diff --git a/make/ly-rules.make b/make/ly-rules.make index 261a5b7355..a9137b39ac 100644 --- a/make/ly-rules.make +++ b/make/ly-rules.make @@ -1,60 +1,33 @@ -.SUFFIXES: .doc .dvi .mudtex .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: %.doc - if [ -f $@ ]; then chmod a+w $@; fi - $(PYTHON) $(LILYPOND_BOOK) $(LILYPOND_BOOK_INCLUDES) $(LILYPOND_BOOK_FLAGS) --verbose --dependencies --outdir=$(outdir) $< - chmod -w $@ -# don't do ``cd $(outdir)'', and assume that $(outdir)/.. is the src dir. -# it is not, for --srcdir builds -$(outdir)/%.texi: %.tely - if [ -f $@ ]; then chmod a+w $@; fi - set|egrep '(TEX|LILY)' # ugh, what's this? - $(PYTHON) $(LILYPOND_BOOK) $(LILYPOND_BOOK_INCLUDES) --dependencies --outdir=$(outdir) --format=$(LILYPOND_BOOK_FORMAT) --verbose $(LILYPOND_BOOK_FLAGS) $< - chmod -w $@ - -$(outdir)/%.texi: $(outdir)/%.tely - if [ -f $@ ]; then chmod a+w $@; fi -# debugging: -# set|egrep '(TEX|LILY)' - $(PYTHON) $(LILYPOND_BOOK) $(LILYPOND_BOOK_INCLUDES) --dependencies --outdir=$(outdir) --format=$(LILYPOND_BOOK_FORMAT) --verbose $(LILYPOND_BOOK_FLAGS) $< -# -# DON'T REMOVE SOURCE FILES, otherwise the .TEXI ALWAYS OUT OF DATE. -# rm -f $< - chmod -w $@ - -# nexi: no-lily texi -# for plain info doco: don't run lily -$(outdir)/%.nexi: %.tely - if [ -f $@ ]; then chmod a+w $@; fi - $(PYTHON) $(LILYPOND_BOOK) $(LILYPOND_BOOK_INCLUDES) --dependencies --outdir=$(outdir) --format=$(LILYPOND_BOOK_FORMAT) --no-lily $(LILYPOND_BOOK_FLAGS) -o $(notdir $@) $< - chmod -w $@ - -# nfo: info from non-lily texi -$(outdir)/%.info: $(outdir)/%.nexi - $(MAKEINFO) --output=$(outdir)/$(*F).info $< +# 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 -# nfo: info from non-lily texi -#$(outdir)/%.nfo: $(outdir)/%.nexi -# $(MAKEINFO) --output=$(outdir)/$(*F).info $< +$(eval $(firstword $(TEXI_FILES_FROM_TELY)):\ + $(foreach i, $(wordlist 2, $(words $(TEXI_FILES_FROM_TELY)),\ + $(TEXI_FILES_FROM_TELY)),$(CHAIN_RULE))) -# -# let's not do this: this interferes with the lilypond-book dependency mechanism. -# -##$(outdir)/%.tex: $(outdir)/%.ly -## $(LILYPOND) $(LILYPOND_BOOK_INCLUDES) -o $@ $< +# 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 $(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 $< -# -# Timothy's booklet -# -$(outdir)/%-book.ps: $(outdir)/%.ps - psbook $< $<.tmp - pstops '2:0L@.7(21cm,0)+1L@.7(21cm,14.85cm)' $<.tmp $@ -$(outdir)/%.pdf: $(outdir)/%.dvi - dvips -u +lilypond.map -o $@.pdfps -t $(DVIPS_PAPERSIZE) -Ppdf $< - ps2pdf -sPAPERSIZE=$(DVIPS_PAPERSIZE) $@.pdfps $@ +$(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 @@ -63,15 +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