Issue 3020
The texinfo file internals.texi for the Internals Reference is
generated from ly/generate-documentation.ly, which in turn relies on
scm/document*.scm and their recursive dependencies to do the actual
work. In the process, settings encoded in various other files get
documented, e.g. from ly/engraver-init.ly and scm/define-*.scm.
Changes to such files do not necessitate, nor trigger, recompiling the
LilyPond binary; yet the only dependency marked for internals.texi in
Documentation/GNUmakefile was on $(LILYPOND_BINARY).
Fix this, for this is obviously inconvenient when hacking the
Internals Reference.
Rather than tediously maintaining a specific list that grows
incomplete whenever the scope of the IR expands, make internals.texi
depend on $(INIT_LY_SOURCES) and $(SCHEME_SOURCES) altogether, similar
to the rules in make/ly-rules.make.
# of internals every time. however, this triggers
# compilation during install, which is a bad thing (tm).
-$(outdir)/internals.texi: $(LILYPOND_BINARY)
+$(outdir)/internals.texi: $(LILYPOND_BINARY) $(INIT_LY_SOURCES) $(SCHEME_SOURCES)
cd $(outdir) && $(buildscript-dir)/run-and-check "$(LILYPOND_BINARY) --verbose $(top-src-dir)/ly/generate-documentation" "generate-documentation.log"
###############################################