# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
# This is a prototype Makefile that's used to start new Makefiles in other #
# directories. 
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
U=http://trillian.mit.edu/~jc/music/abc/session
a2p=jcabc2ps	# Default formatter

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #

all: Wild_Rover

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #

neat:        ; rm -f *- *~
clean:   neat; rm -f *.log *.out *.abc *.ps *.pdf
clobber: neat; rm -f [a-z]*.abc

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
# The tunes here are mostly in single-tune files in subdirectories, which is
# the easiest way to deal with them. However, some people (e.g. the folks
# working on network intexes) prefer to download large files full of tunes.
# To accomodate them (until they come to understand the virtues of small
# files), here are some rules for building "books" of tunes:

books_abc= \
	air.abc hornpipe.abc jig.abc march.abc reel.abc slipjig.abc waltz.abc

books_ps= \
	air.ps hornpipe.ps jig.ps march.ps reel.ps slipjig.ps waltz.ps

books_pdf= \
	air.pdf hornpipe.pdf jig.pdf march.pdf reel.pdf slipjig.pdf waltz.pdf

books: books.abc books.ps books.pdf

books.abc: $(books_abc)
books.ps:  $(books_ps)
books.pdf: $(books_pdf)

air.abc:        air/*.abc;        abcjoin +R +S "St Pat's airs"        air/*.abc        > air.abc
hornpipe.abc:   hornpipe/*.abc;   abcjoin +R +S "St Pat's hornpipes"   hornpipe/*.abc   > hornpipe.abc
jig.abc:        jig/*.abc;        abcjoin +R +S "St Pat's jigs"        jig/*.abc        > jig.abc
march.abc:      march/*.abc;      abcjoin +R +S "St Pat's marches"    march/*.abc      > march.abc
polka.abc:      polka/*.abc;      abcjoin +R +S "St Pat's polkas"     polka/*.abc      > polka.abc
reel.abc:       reel/*.abc;       abcjoin +R +S "St Pat's reels"      reel/*.abc       > reel.abc
slipjig.abc:    slipjig/*.abc;    abcjoin +R +S "St Pat's slipjigs"   slipjig/*.abc    > slipjig.abc
waltz.abc:      waltz/*.abc;      abcjoin +R +S "St Pat's waltzes"    waltz/*.abc      > waltz.abc

air.ps:      air.abc;      $(a2p) air.abc      +Ffmt/_60 |PShdr %P "+St Pat's Airs"      %P |PSftr %D $U/air/      %D >air.ps
hornpipe.ps: hornpipe.abc; $(a2p) hornpipe.abc +Ffmt/_60 |PShdr %P "+St Pat's Hornpipes" %P |PSftr %D $U/hornpipe/ %D >hornpipe.ps
jig.ps:      jig.abc;      $(a2p) jig.abc      +Ffmt/_60 |PShdr %P "+St Pat's Jigs"      %P |PSftr %D $U/jig/      %D >jig.ps
march.ps:    march.abc;    $(a2p) march.abc    +Ffmt/_60 |PShdr %P "+St Pat's Marches"   %P |PSftr %D $U/march/    %D >march.ps
polka.ps:    polka.abc;    $(a2p) polka.abc    +Ffmt/_60 |PShdr %P "+St Pat's Polkas"    %P |PSftr %D $U/polka/    %D >polka.ps
reel.ps:     reel.abc;     $(a2p) reel.abc     +Ffmt/_60 |PShdr %P "+St Pat's Reels"     %P |PSftr %D $U/reel/     %D >reel.ps
slipjig.ps:  slipjig.abc;  $(a2p) slipjig.abc  +Ffmt/_60 |PShdr %P "+St Pat's Slipjigs"  %P |PSftr %D $U/slipjig/  %D >slipjig.ps
waltz.ps:    waltz.abc;    $(a2p) waltz.abc    +Ffmt/_60 |PShdr %P "+St Pat's Waltzes"   %P |PSftr %D $U/waltz/    %D >waltz.ps

air.pdf:        air.ps;        ps2pdf air.ps
hornpipe.pdf:   hornpipe.ps;   ps2pdf hornpipe.ps
jig.pdf:        jig.ps;        ps2pdf jig.ps
march.pdf:      march.ps;      ps2pdf march.ps
polka.pdf:      polka.ps;      ps2pdf polka.ps
reel.pdf:       reel.ps;       ps2pdf reel.ps
slipjig.pdf:    slipjig.ps;    ps2pdf slipjig.ps
waltz.pdf:      waltz.ps;      ps2pdf waltz.ps

air:        air.abc        air.ps        air.pdf
hornpipe:   hornpipe.abc   hornpipe.ps   hornpipe.pdf
jig:        jig.abc        jig.ps        jig.pdf
march:      march.abc      march.ps      march.pdf
polka:      polka.abc      polka.ps      polka.pdf
reel:       reel.abc       reel.ps       reel.pdf
slipjig:    slipjig.abc    slipjig.ps    slipjig.pdf
strathspey: strathspey.abc strathspey.ps strathspey.pdf
waltz:      waltz.abc      waltz.ps      waltz.pdf

#new: */*.abc # new.abc new.pdf
#	find */ -mtime -30 -name '*.abc' | xargs tonew
#	make new.abc new.pdf
#new.abc: new/*.abc; abcjoin +s new/*.abc > new.abc
#new.ps:  new.abc;   $(a2p) new.abc +F_65  \
#	|PShdr new "" new  \
#	|PSftr "Page %P" $U/new/ %D >new.ps
#new.pdf: new.ps;    ps2pdf new.ps

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #

# jj
jj= _.abc _.abc _.abc
jj: jj.abc jj.pdf
jj.abc: $(jj)
	abcjoin +s $(jj) >jj.abc
jj.ps: jj.abc fmt/_75.fmt $(jj)
	$(a2p) jj.abc +Ffmt/_75 \
	|PShdr jj "" jj \
	|PSftr %D $U/ %D >jj.ps
jj.pdf: jj.ps
	ps2pdf jj.ps

# yy
yy= x8.abc
yy: yy.abc yy.pdf
yy.abc: $(yy)
	abcjoin $(yy) >yy.abc
yy.ps: yy.abc song.fmt
	$(a2p) yy.abc +Fsong  \
	|PShdr "" "" ""  \
	|PSftr %D $U/ %D >yy.ps
yy.pdf: yy.ps
	ps2pdf yy.ps

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #

# Set Name (info)
Set_Name: Set_Name-info
Set_Name-info= hdr/Set_Name-info.hdr\
	___/Set_Name.abc \
	ftr/Set_Name-info.ftr
Set_Name-info: Set_Name-info.abc Set_Name-info.pdf
Set_Name-info.abc: $(Set_Name-info); abcjoin $(Set_Name-info) >Set_Name-info.abc
	ln -f Set_Name-info.abc ___/Set_Name-info.abc
Set_Name-info.ps: Set_Name-info.abc fmt/pdf_65.fmt
	$(a2p) Set_Name-info.abc +Ffmt/pdf_65.fmt  \
	|PShdr "Set Name" "" "Set Name"  \
	|PSftr %D $U/ %D >Set_Name-info.ps
Set_Name-info.pdf: Set_Name-info.ps; ps2pdf Set_Name-info.ps
	ln -f Set_Name-info.pdf img/Set_Name.pdf
hdr/Set_Name-info.hdr: ; touch hdr/Set_Name-info.hdr
ftr/Set_Name-info.ftr: ; touch ftr/Set_Name-info.ftr

# Sevcovsky (Ševcovský) polka
Sevcovsky: Sevcovsky_polka-D,G,C,F-32-12
Sevcovsky_polka-D,G,C,F-32-12= hdr/Sevcovsky_polka-D,G,C,F-32-12.hdr\
	Intl/Sevcovsky/Sevcovsky-D-32-3.abc \
	Intl/Sevcovsky/Sevcovsky-G-32-3.abc \
	Intl/Sevcovsky/Sevcovsky-C-32-3.abc \
	Intl/Sevcovsky/Sevcovsky-F-32-3.abc \
	ftr/Sevcovsky_polka-D,G,C,F-32-12.ftr
Sevcovsky_polka-D,G,C,F-32-12: Sevcovsky_polka-D,G,C,F-32-12.abc Sevcovsky_polka-D,G,C,F-32-12.pdf
Sevcovsky_polka-D,G,C,F-32-12.abc: $(Sevcovsky_polka-D,G,C,F-32-12); abcjoin $(Sevcovsky_polka-D,G,C,F-32-12) >Sevcovsky_polka-D,G,C,F-32-12.abc
	ln -f Sevcovsky_polka-D,G,C,F-32-12.abc polka/Sevcovsky_polka-D,G,C,F-32-12.abc
Sevcovsky_polka-D,G,C,F-32-12.ps: Sevcovsky_polka-D,G,C,F-32-12.abc fmt/pdf_65.fmt
	$(a2p) Sevcovsky_polka-D,G,C,F-32-12.abc +Ffmt/pdf_65.fmt  \
	|PShdr "Sevcovsky polka" "" "Sevcovsky polka"  \
	|PSftr %D $U/ %D >Sevcovsky_polka-D,G,C,F-32-12.ps
Sevcovsky_polka-D,G,C,F-32-12.pdf: Sevcovsky_polka-D,G,C,F-32-12.ps; ps2pdf Sevcovsky_polka-D,G,C,F-32-12.ps
	ln -f Sevcovsky_polka-D,G,C,F-32-12.pdf img/Sevcovsky_polka.pdf
hdr/Sevcovsky_polka-D,G,C,F-32-12.hdr: ; touch hdr/Sevcovsky_polka-D,G,C,F-32-12.hdr
ftr/Sevcovsky_polka-D,G,C,F-32-12.ftr: ; touch ftr/Sevcovsky_polka-D,G,C,F-32-12.ftr

# Tom Kruskal's (reel, march)
Tom_Kruskals: Tom_Kruskals-F,G,A-32-12
Tom_Kruskals-F,G,A-32-12= hdr/Tom_Kruskals-F,G,A-32-12.hdr\
	Tom_Kruskals/Tom_Kruskals-F-32-4.abc \
	Tom_Kruskals/Tom_Kruskals-G-32-4.abc \
	Tom_Kruskals/Tom_Kruskals-A-32-4.abc \
	ftr/Tom_Kruskals-F,G,A-32-12.ftr
Tom_Kruskals-F,G,A-32-12: Tom_Kruskals-F,G,A-32-12.abc Tom_Kruskals-F,G,A-32-12.pdf
Tom_Kruskals-F,G,A-32-12.abc: $(Tom_Kruskals-F,G,A-32-12); abcjoin $(Tom_Kruskals-F,G,A-32-12) >Tom_Kruskals-F,G,A-32-12.abc
	ln -f Tom_Kruskals-F,G,A-32-12.abc march/Tom_Kruskals-F,G,A-32-12.abc
Tom_Kruskals-F,G,A-32-12.ps: Tom_Kruskals-F,G,A-32-12.abc fmt/pdf_65.fmt
	$(a2p) Tom_Kruskals-F,G,A-32-12.abc +Ffmt/pdf_65.fmt  \
	|PShdr "TomKruskals" "" "Tom Kruskals"  \
	|PSftr %D $U/ %D >Tom_Kruskals-F,G,A-32-12.ps
Tom_Kruskals-F,G,A-32-12.pdf: Tom_Kruskals-F,G,A-32-12.ps; ps2pdf Tom_Kruskals-F,G,A-32-12.ps
	ln -f Tom_Kruskals-F,G,A-32-12.pdf img/Tom_Kruskals.pdf
hdr/Tom_Kruskals-F,G,A-32-12.hdr: ; touch hdr/Tom_Kruskals-F,G,A-32-12.hdr
ftr/Tom_Kruskals-F,G,A-32-12.ftr: ; touch ftr/Tom_Kruskals-F,G,A-32-12.ftr

# Wild Rover
Wild_Rover= Wild_Rover/Wild_Rover-G-34-2w.abc
Wild_Rover: Wild_Rover.abc Wild_Rover.pdf
Wild_Rover.abc: $(Wild_Rover)
	abcjoin $(Wild_Rover) >Wild_Rover.abc
Wild_Rover.ps: Wild_Rover.abc Wild_Rover.fmt
	$(a2p) Wild_Rover.abc +FWild_Rover.fmt  \
	|PShdr "" "" ""  \
	|PSftr %D $U/ %D >Wild_Rover.ps
Wild_Rover.pdf: Wild_Rover.ps
	ps2pdf Wild_Rover.ps


# Wren (the)
Wren: Wren-Bm,Em,Am-32-6
Wren-Bm,Em,Am-32-6= hdr/Wren-Bm,Em,Am-32-6.hdr\
	Wren/Wren-Bm-32-2.abc \
	Wren/Wren-Em-32-2.abc \
	Wren/Wren-Am-32-2.abc \
	ftr/Wren-Bm,Em,Am-32-6.ftr
Wren-Bm,Em,Am-32-6: Wren-Bm,Em,Am-32-6.abc Wren-Bm,Em,Am-32-6.pdf
Wren-Bm,Em,Am-32-6.abc: $(Wren-Bm,Em,Am-32-6); abcjoin $(Wren-Bm,Em,Am-32-6) >Wren-Bm,Em,Am-32-6.abc
	ln -f Wren-Bm,Em,Am-32-6.abc reel/Wren-Bm,Em,Am-32-6.abc
Wren-Bm,Em,Am-32-6.ps: Wren-Bm,Em,Am-32-6.abc fmt/pdf_65.fmt
	$(a2p) Wren-Bm,Em,Am-32-6.abc +Ffmt/pdf_65.fmt  \
	|PShdr "the Wren" "" "the Wren"  \
	|PSftr %D $U/ %D >Wren-Bm,Em,Am-32-6.ps
Wren-Bm,Em,Am-32-6.pdf: Wren-Bm,Em,Am-32-6.ps; ps2pdf Wren-Bm,Em,Am-32-6.ps
	ln -f Wren-Bm,Em,Am-32-6.pdf img/Wren.pdf
hdr/Wren-Bm,Em,Am-32-6.hdr: ; touch hdr/Wren-Bm,Em,Am-32-6.hdr
ftr/Wren-Bm,Em,Am-32-6.ftr: ; touch ftr/Wren-Bm,Em,Am-32-6.ftr

