# rules for directories with LilyPond files.
-# empty
+TELY_FILES := $(call src-wildcard,*.tely)
+TEXI_FILES_FROM_TELY := $(TELY_FILES:%.tely=$(outdir)/%.texi) $(TEXI_FILES_FROM_TELY)
-# huh ? these are for documentation?!
-TELY_FILES := $(wildcard *.tely)
+OMF_FILES += $(foreach format, html pdf, $(foreach f, $(TELY_FILES), $(outdir)/$(f:.tely=.$(format)).omf))
-OMF_FILES += $(foreach format, html pdf ps.gz, $(foreach f, $(TELY_FILES), $(outdir)/$(f:.tely=.$(format)).omf))
-
-ITELY_FILES := $(wildcard *.itely)
-ITEXI_FILES := $(wildcard *.itexi)
-LY_FILES := $(wildcard *.ly)
-LYINC_FILES := $(wildcard *.lyinc)
-ILY_FILES := $(wildcard *.ily)
+ITELY_FILES := $(call src-wildcard,*.itely)
+ITEXI_FILES := $(call src-wildcard,*.itexi)
+LY_FILES := $(call src-wildcard,*.ly)
+ILY_FILES := $(call src-wildcard,*.ily)
TEXINFO_SOURCES += $(TELY_FILES) $(ITELY_FILES) $(ITEXI_FILES)
-EXTRA_DIST_FILES +=$(TELY_FILES) $(LY_FILES) $(ITEXI_FILES) $(ITELY_FILES) $(LYINC_FILES) $(ILY_FILES)
-
-DVIPS_FLAGS= -u+ec-mftrace.map -u +lilypond.map -Ppdf
+# prerequisites for all rules invoking compiled lilypond binary
+ifeq ($(LILYPOND_EXTERNAL_BINARY),)
+INIT_LY_SOURCES = $(wildcard $(top-src-dir)/ly/*.ly)
+SCHEME_SOURCES = $(wildcard $(top-src-dir)/scm/*.scm)
+endif