# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
# This is the Makefile for the TotD (Fiddle Tune of the Day)  session. Some of  #
# the tunes are collected #
# into  "sets",  and the approach here is to link the single tunes into various #
# directories, and then combine them into a single file.   We  also  have  some #
# entries to combine all the files in a single subdirectory, but this is mostly #
# for debugging purpose, and may disappear eventually.                          #
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
a2p=jcabc2ps
RM=/bin/rm
U=http://trillian.mit.edu/~jc/music/abc/session/BSFC

all: Sets
#airs hornpipes slipjigs jigs mixed marches polkas songs reels shottishes waltzes

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
neat:
	$(RM) -f *- *.old
clean: neat
	$(RM) -f *.out *.log *.ps *.pdf *-
#	$(RM) -f airs.p* hornpipes.p* slipjigs.p* jigs.p* mixed.p* marches.p* \
#		polkas.p* songs.p* reels.p* shottishes.p* waltzes.p*
clobber: clean
	$(RM) -f *.abc

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

waltzes: waltzes.abc waltzes.ps waltzes.pdf
waltzes.abc: waltz/*.abc
	abcjoin +R +S waltz/*.abc >waltzes.abc
waltzes.ps: waltzes.abc
	$(a2p) waltzes.abc +x +Ffmt/TotD.fmt \
	|PSftr "Page %P" $U/ %D >waltzes.ps
waltzes.pdf: waltzes.ps
	ps2pdf waltzes.ps waltzes.pdf

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
# Here are prototypes for making medley pages:

# jh	# Join, with hdr file
jh= _.abc # Single-tune file names
jh: jh.abc jh.pdf
jh.abc: $(jh) hdr/jh.hdr
	abcjoin +RS $(jh) >jh.abc
jh.ps: jh.abc fmt/TotD.fmt
	$(a2p) jh.abc +Ffmt/TotD.fmt \
	|PShdr 'jh' '' 'jh' \
	|PSftr %D $U/ %D >jh.ps
jh.pdf: jh.ps
	ps2pdf jh.ps jh.pdf

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

# mm
mm=
mm: mm.abc mm.ps mm.pdf
mm.abc: $(mm) # hdr/mm.hdr
	abcmedley "mm" $(mm) >mm.abc
mm.ps: mm.abc fmt/TotD.fmt
	$(a2p) mm.abc +Ffmt/TotD.fmt \
	|PShdr 'mm' '' 'mm' \
	|PSftr %D $U/ %D >mm.ps
mm.pdf: mm.ps
	ps2pdf mm.ps mm.pdf

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
# Medleys that we make locally:

Sets sets: Hancock_Wuppertal_Waltz_set

# _name Set
_name_Set= \
	__
_name_Set: _name_Set.abc _name_Set.ps _name_Set.pdf
_name_Set.abc: hdr/_name_Set.hdr $(_name_Set)
	abcjoin +R $(_name_Set) >_name_Set.abc
	ln -f _name_Set.abc ___/_name_Set.pdf
_name_Set.ps: _name_Set.abc fmt/TotD.fmt
	$(a2p) _name_Set.abc +Ffmt/TotD.fmt \
	|PShdr '_name_Set' '' '_name_Set' \
	|PSftr %D $U/ %D >_name_Set.ps
_name_Set.pdf: _name_Set.ps
	ps2pdf _name_Set.ps _name_Set.pdf
	ln -f _name_Set.pdf img/_name_Set.pdf
hdr/_name_Set.hdr: ; touch hdr/_name_Set.hdr
ftr/_name_Set.ftr: ; touch ftr/_name_Set.ftr

# Hancock Waltz + Wuppertal Waltz set
Hancock_Wuppertal_Waltz_set= hdr/Hancock_Wuppertal_Waltz_set.hdr \
	waltz/Hancock_Waltz-G-32-2.abc \
	waltz/Wuppertal_Waltz-D-32-2.abc \
	ftr/Hancock_Wuppertal_Waltz_set.ftr
Hancock_Wuppertal_Waltz_set: Hancock_Wuppertal_Waltz_set.abc Hancock_Wuppertal_Waltz_set.pdf
Hancock_Wuppertal_Waltz_set.abc: hdr/Hancock_Wuppertal_Waltz_set.hdr $(Hancock_Wuppertal_Waltz_set)
	abcjoin +R $(Hancock_Wuppertal_Waltz_set) >Hancock_Wuppertal_Waltz_set.abc
	ln -f Hancock_Wuppertal_Waltz_set.abc waltz/Hancock_Wuppertal_Waltz_set.abc
Hancock_Wuppertal_Waltz_set.ps: Hancock_Wuppertal_Waltz_set.abc fmt/TotD.fmt
	$(a2p) Hancock_Wuppertal_Waltz_set.abc +Ffmt/TotD.fmt \
	|PSftr %D $U/ %D >Hancock_Wuppertal_Waltz_set.ps
Hancock_Wuppertal_Waltz_set.pdf: Hancock_Wuppertal_Waltz_set.ps
	ps2pdf Hancock_Wuppertal_Waltz_set.ps Hancock_Wuppertal_Waltz_set.pdf
	ln -f Hancock_Wuppertal_Waltz_set.pdf img/Hancock_Wuppertal_Waltz_set.pdf
hdr/Hancock_Wuppertal_Waltz_set.hdr: ; touch hdr/Hancock_Wuppertal_Waltz_set.hdr
ftr/Hancock_Wuppertal_Waltz_set.ftr: ; touch ftr/Hancock_Wuppertal_Waltz_set.ftr

