Dear LilyPond developers,

'make doc' generates the texinfo file for the Internals Reference 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 that is the only dependency marked:

--- Documentation/GNUmakefile, lines 287-288 ---
$(outdir)/internals.texi: $(LILYPOND_BINARY)
        cd $(outdir) && $(buildscript-dir)/run-and-check "$(LILYPOND_BINARY) 
--verbose $(top-src-dir)/ly/generate-documentation" "generate-documentation.log"
---

Obviously, this is inconvenient when hacking the Internals Reference,
so I would like to ask for the missing dependencies to be added.

Rather than tediously maintaining a specific list that grows incomplete
whenever the scope of the IR expands, I suggest to depend on
$(INIT_LY_SOURCES) and $(SCHEME_SOURCES) altogether, as in lines 7, 25
and 29 of make/ly-rules.make. Attached is a trivial patch that does
just that.

Best regards,

Johannes Rohrer
>From 88328406d97de21b9c13b38f050a9d93694c92ed Mon Sep 17 00:00:00 2001
From: Johannes Rohrer <[email protected]>
Date: Wed, 12 Dec 2012 22:48:50 +0100
Subject: [PATCH] Documentation/GNUmakefile: Add dependencies for
 internals.texi

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.

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.
---
 Documentation/GNUmakefile |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/GNUmakefile b/Documentation/GNUmakefile
index a3ef4bb..924b391 100644
--- a/Documentation/GNUmakefile
+++ b/Documentation/GNUmakefile
@@ -284,7 +284,7 @@ $(outdir)/ly-grammar.txt: $(top-src-dir)/lily/parser.yy
 # 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"
 
 ###############################################
-- 
1.7.9.5

_______________________________________________
bug-lilypond mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-lilypond

Reply via email to