lilypond-devel
[Top][All Lists]
Advanced

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

Re: DOCS: include a sample "Makefile"?


From: Jonathan Kulp
Subject: Re: DOCS: include a sample "Makefile"?
Date: Sun, 17 May 2009 20:28:33 -0500
User-agent: Thunderbird 2.0.0.21 (X11/20090409)

Peter Chubb wrote:
Jonathan> What I can't figure out how to make it do is recompile a
Jonathan> score whose \include "notes.ily" file has changed, something
Jonathan> that is much more likely to happen than the main.ly file.
Jonathan> I've added .ily to the list of suffixes, and I added a line
Jonathan> saying that the .ly files depend on .ily files, but when I
Jonathan> touch a .ily file, and the pdf for that part already exists,
Jonathan> it still says "nothing to be done for <target>".


The PDF depends on all the inputs that go to make it ... you need to
tell make about that because it can't work it out on its own.

So:

fred.pdf: fred.ly fred_mvmt1.ily fred_mvmt2.ily


Ok I'm starting to get it. This version works as expected. If I touch any .ly or .ily file, then make will recreate the appropriate pdf.

Does this now resemble something I can make generic and put in the docs? Any GNU Make extensions left in there?

Thanks for being so patient with a makefile noob. :)

Jon
--
Jonathan Kulp
http://www.jonathankulp.com


piece = stamitz
LILY_CMD = lilypond -ddelete-intermediate-files \
                    -dno-point-and-click

notes = cello.ily figures.ily horn.ily oboe.ily trioString.ily viola.ily violinOne.ily violinTwo.ily

MOVEMENTS = $(piece)I.pdf $(piece)II.pdf $(piece)III.pdf $(piece)IV.pdf

.SUFFIXES: .ly .ily .pdf .midi

curdir = $(shell pwd)
VPATH = $(curdir)/Scores $(curdir)/PDF $(curdir)/Parts $(curdir)/Notes

%.pdf %.midi:  %.ly
        cd PDF; $(LILY_CMD) $<

$(piece).pdf: $(notes)

cello.pdf: cello.ly cello.ily figures.ily trioString.ily
horn.pdf: horn.ly horn.ily
oboes.pdf: oboes.ly oboe.ily
viola.pdf: viola.ly viola.ily
violinOne.pdf: violinOne.ly violinOne.ily
violinTwo.pdf: violinTwo.ly violinTwo.ily
$(MOVEMENTS): $(notes)

.PHONY: score
score: $(piece).pdf

.PHONY: parts
parts: cello.pdf violinOne.pdf violinTwo.pdf viola.pdf oboes.pdf horn.pdf

.PHONY: movements
movements: $(MOVEMENTS)




reply via email to

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