On Thu 21 May 2020 at 13:57:00 (+0100), antlists wrote: > On 21/05/2020 01:49, David Wright wrote: > > I don't understand your equivalence between .ily and .h files. The > > .ily file(s) can contain just as much code as the .ly file(s), whereas > > .h files don't contain any code at all (in the sense of producing > > executable code for the next stage. > > a) just like .h files, .ily files can't be passed directly to a > compiler for compilation.
Why do you say that? > b) who says .h files don't produce executable code? They often contain > code, sometimes entire functions. > > I understand the equivalence exactly - it's what you DO to the file. Good, that means I have a second source of edification as to what the intent of this analysis is. > You're thinking "what you *should* put in the file". Since when have > people done what they *should*? Letting that pass, let's say we have a source file foo.c and it needs an extraordinary quantity of functionality that's contained in bar.c. We put the latter's function declarations into bar.h and compile bar.{c,h}¹ into bar.o. Now we can compile foo.c (which #includes bar.h) over and over while debugging it, all without ever recompiling bar.c. foo.c knows all it needs to know about bar.c because of bar.h's declarations. I now have a suite.ly that typesets my Suite for flute and piano. It \includes nine files: flute{I,II,III}.ily, piano{I,II,III}.ily (the notes), and flute-part.ily, piano-part.ily and complete-score.ily, (my \score templates). It also \includes {marks,dyns,fingers}.ily that contain LP code for my preferred styles of markings, dynamics and fingering. I have a file, suite.dep, which contains the information that suite.ly depends on these files to produce three targets, {flute,piano,suite}.pdf The same file might also indicate that I need just flute{I,II,III}.ily, flute-part.ily and {marks,dyns,fingers}.ily for just a flute.pdf. What do I write in a top-level theFlute.ly file to produce this flute.pdf and how does it benefit from the suite.sep information? How do I use this information profitably, in the way that bar.h did? ¹ I'm abbreviating with shell's "brace expansion" notation. Cheers, David.