summaryrefslogtreecommitdiff
path: root/make
diff options
context:
space:
mode:
authorJohn Mandereau - LilyPond development <john.mandereau@gmail.com>2012-06-28 18:32:18 +0200
committerJohn Mandereau <john.mandereau@gmail.com>2012-06-29 16:40:55 +0200
commite6a5019c531bbc6663e0eebc645409148dbd8931 (patch)
treef318b775ad7ac8b8fd8e6138ff3ae7c11703c4d5 /make
parent512d405d07aba8742658902b105a94ebbd40c2dc (diff)
Clean fonts and docs makefiles, trying to fix 'make -j' race conditions
On my machine (GNU/Linux Fedora 17 x86_64 on an Intel Core 2 Duo), "make -j3 all" repeatedly calls fontforge before needed .pfb files are generated and makeinfo/extract_texi_filenames/texi2omf before .texi file has been generated/copied. Fix this by using order prerequisites and adding targets to WWW-1 (first stage of doc build); order (rather than ordinary) prerequisites avoid having always outdated targets, which would trigger compilation at install. Remove a rule for Info manual that is no longer needed and which might short-circuit .dep file generation. mf/GNUmakefile: also factorize prerequisites in fonts using a macro.
Diffstat (limited to 'make')
-rw-r--r--make/doc-i18n-root-rules.make2
-rw-r--r--make/doc-i18n-root-targets.make4
-rw-r--r--make/doc-i18n-root-vars.make1
-rw-r--r--make/ly-rules.make4
4 files changed, 6 insertions, 5 deletions
diff --git a/make/doc-i18n-root-rules.make b/make/doc-i18n-root-rules.make
index 289b73bf06..d374e5ca73 100644
--- a/make/doc-i18n-root-rules.make
+++ b/make/doc-i18n-root-rules.make
@@ -40,7 +40,7 @@ $(TRANSLATION_LILY_IMAGES): $(MASTER_TEXI_FILES)
find $(outdir) \( -name '*.??.idx' \) | sed 's!$(outdir)/!!g' | xargs $(buildscript-dir)/mass-link hard $(outdir) $(top-build-dir)/Documentation/$(outdir)
touch $@
-$(outdir)/lilypond-%.info: $(outdir)/%.texi $(outdir)/$(INFO_IMAGES_DIR).info-images-dir-dep $(outdir)/version.itexi $(outdir)/weblinks.itexi
+$(outdir)/lilypond-%.info: $(outdir)/%.texi $(outdir)/$(INFO_IMAGES_DIR).info-images-dir-dep $(outdir)/version.itexi $(outdir)/weblinks.itexi | $(OUT_TEXINFO_MANUALS)
$(buildscript-dir)/run-and-check "$(MAKEINFO) -I$(src-dir) -I$(outdir) --output=$@ $<" "$*.makeinfo.log"
$(outdir)/index.$(ISOLANG).html: TEXI2HTML_INIT = $(WEB_TEXI2HTML_INIT)
diff --git a/make/doc-i18n-root-targets.make b/make/doc-i18n-root-targets.make
index a022da9ae5..cd5001174a 100644
--- a/make/doc-i18n-root-targets.make
+++ b/make/doc-i18n-root-targets.make
@@ -2,10 +2,10 @@ default:
ifeq ($(out),www)
ifneq ($(NO_PDF_FILES),)
-local-WWW-1: $(MASTER_TEXI_FILES) $(XREF_MAPS_FILES)
+local-WWW-1: $(OUT_TEXINFO_MANUALS) $(MASTER_TEXI_FILES) $(XREF_MAPS_FILES)
endif
ifeq ($(NO_PDF_FILES),)
-local-WWW-1: $(MASTER_TEXI_FILES) $(PDF_FILES) $(XREF_MAPS_FILES)
+local-WWW-1: $(OUT_TEXINFO_MANUALS) $(MASTER_TEXI_FILES) $(PDF_FILES) $(XREF_MAPS_FILES)
endif
local-WWW-2: $(DEEP_HTML_FILES) $(BIG_PAGE_HTML_FILES) $(DOCUMENTATION_LOCALE_TARGET)
diff --git a/make/doc-i18n-root-vars.make b/make/doc-i18n-root-vars.make
index 2d7ab99ad0..2b2242427b 100644
--- a/make/doc-i18n-root-vars.make
+++ b/make/doc-i18n-root-vars.make
@@ -9,6 +9,7 @@ MASTER_TEXI_FILES := $(TEXI_FILES) $(TELY_FILES:%.tely=$(outdir)/%.texi)
TEXINFO_MANUALS =\
$(TELY_FILES:%.tely=%)\
$(TEXI_FILES:%.texi=%)
+OUT_TEXINFO_MANUALS = $(TEXINFO_MANUALS:%=$(outdir)/%.texi)
TOPDIR_HTML_MANUALS =
SPLIT_HTML_MANUALS = $(foreach manual, $(TEXINFO_MANUALS),\
diff --git a/make/ly-rules.make b/make/ly-rules.make
index fbe81c281a..954626f6bc 100644
--- a/make/ly-rules.make
+++ b/make/ly-rules.make
@@ -36,10 +36,10 @@ $(outdir)/%.html.omf: %.tely
$(outdir)/%.pdf.omf: %.tely
$(call GENERATE_OMF,pdf)
-$(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)/others-did.itexi $(outdir)/we-wrote.itexi: $(outdir)/%.itexi: $(top-src-dir)/Documentation/web/%.bib $(top-src-dir)/Documentation/lily-bib.bst