lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Identify included files


From: Wols Lists
Subject: Re: Identify included files
Date: Mon, 25 May 2020 20:12:28 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.7.0

On 25/05/20 19:25, Fr. Samuel Springuel wrote:
> I think this is where you’ve missed something.  When using DK’s code as the 
> init file (or my later version, which make the output more make-friendly), 
> LilyPond **does not actually typeset the music.**  All it does is read 
> through the files to construct ly:source-files and then output that list to 
> stdout.  It is the equivalent, in some sense, of the -M option for a CC 
> (which is where the whole analogy got started).  cc -M sample.c does not 
> create sample.o, it outputs the list of files that sample.o depends on.  
> Likewise lilypond --init parse-only.ly sample.ly does not create sample.pdf, 
> it outputs the list of files that sample.pdf depends on.  In both cases we’re 
> using the compiler’s (cc or lilypond) already existing knowledge of how to 
> read its source and find the mentioned includes, but instead of telling it to 
> use that knowledge to create the target (the object file or pdf), we’re 
> telling it to use that knowledge to create the dependency list.

So. Am I correct in thinking that, if you change one .ily file, you need
to rebuild the entire makefile? WHY?

I don't know the exact make syntax but my makefile would be something like

partTrombone.pdf partTrombone.ly
   lilypond partTrombone.ly

partTrombone.ly voiceTrombone.ily
   :

voiceTrombone.ily dynamics.ily
   :

Here I'm assuming that ":" tells make that this is a virtual object - it
can't be made but it's affected by changes to the file(s) that it
depends on.

So if I edit dynamics.ily, then do "make partTrombone.pdf", make will
cascade that virtual dependency up, realise that partTrombone.pdf is out
of date, and rebuild it. And it means if put a new include into
dynamics.ily, I just need to create/update the line for dynamics.ily,
and everything that depends on it will rebuild if I run the "make" command.

Cheers,
Wol



reply via email to

[Prev in Thread] Current Thread [Next in Thread]