# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
# This is John Chambers' collection of American Revolutionary-period  dances, #
# mostly  from the late 1700s and early 1800s.  There's a significant overlap #
# with the ../Vintage collection.                                             #
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
a2p=jcabc2ps
U=http://trillian.mit.edu/~jc/music/abc/AmRev/

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

all: LoveAnOpportunity \
	BostonFireAlarm BritishSorrow Fantocini PaspieMinuet PleasureOfLove \
	PleasuresOfProvidence SchoolForLovers 
	

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

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

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
neat: ; rm -f *- core *.out Out.ps
clean: neat; rm -f *.log *.pdf *.ps new.*
	find new/ -name '*.abc' -mtime +32 -exec ls -l {} ';' -exec rm {} ';'
clobber: clean; rm -f new/*.abc
#	rm -rf program/[12][0-9]*/

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

# Prototype for single tune in multiple keys, using abcjoin:

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

# Prototype for single tune in multiple keys, using abcmedley:

# mm
mm= tune/mm_K.abc tune/mm_K.abc
mm: mm.abc mm.ps mm.pdf
mm.abc: hdr/mm.hdr $(mm)
	abcjoin mm $(mm) >mm.abc
mm.ps: mm.abc fmt/_75.fmt
	$(a2p) mm.abc +Ffmt/_75 \
	|PShdr mm "" mm \
	|PSftr %D $(URL) %D >mm.ps
mm.pdf: mm.ps
	ps2pdf mm.ps mm.pdf

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

# Boston Fire Alarm
BostonFireAlarm: BostonFireAlarm_Dm

# Boston Fire Alarm Dm
BostonFireAlarm_Dm: BostonFireAlarm_Dm.abc BostonFireAlarm_Dm.ps BostonFireAlarm_Dm.pdf
BostonFireAlarm_Dm.abc: galop/BostonFireAlarm_Dm.abc
	ln -f galop/BostonFireAlarm_Dm.abc BostonFireAlarm_Dm.abc
BostonFireAlarm_Dm.ps: BostonFireAlarm_Dm.abc fmt/_70.fmt
	jcabc2ps +Ffmt/_70 BostonFireAlarm_Dm.abc \
	|PSftr %D $U %D >BostonFireAlarm_Dm.ps
BostonFireAlarm_Dm.pdf: BostonFireAlarm_Dm.ps
	ps2pdf BostonFireAlarm_Dm.ps

# British Sorrow
BritishSorrow: BritishSorrow1 BritishSorrow2

# British Sorrow 1
BritishSorrow1= march/WorldTurnedUpsideDown_D.abc march/MarchOfSaintTimothy_G.abc march/Whalens_Breakdown_C.abc march/Doon_the_Brae_Em.abc
BritishSorrow1: BritishSorrow1.abc BritishSorrow1.ps BritishSorrow1.pdf
BritishSorrow1.abc: hdr/BritishSorrow1.hdr $(BritishSorrow1)
	abcmedley BritishSorrow1 $(BritishSorrow1) >BritishSorrow1.abc
BritishSorrow1.ps: BritishSorrow1.abc fmt/_75.fmt
	$(a2p) BritishSorrow1.abc +Ffmt/_75 \
	|PShdr BritishSorrow "" BritishSorrow \
	|PSftr %D $(URL) %D >BritishSorrow1.ps
BritishSorrow1.pdf: BritishSorrow1.ps
	ps2pdf BritishSorrow1.ps

# British Sorrow 2
BritishSorrow2= march/LordLovatsLament.abc march/RoadToBoston_D.abc march/ODonnelAbu_4G.abc
BritishSorrow2: BritishSorrow2.abc BritishSorrow2.ps BritishSorrow2.pdf
BritishSorrow2.abc: hdr/BritishSorrow2.hdr $(BritishSorrow2)
	abcmedley BritishSorrow2 $(BritishSorrow2) >BritishSorrow2.abc
BritishSorrow2.ps: BritishSorrow2.abc fmt/_75.fmt
	$(a2p) BritishSorrow2.abc +Ffmt/_75 \
	|PShdr BritishSorrow "" BritishSorrow \
	|PSftr %D $(URL) %D >BritishSorrow2.ps
BritishSorrow2.pdf: BritishSorrow2.ps
	ps2pdf BritishSorrow2.ps

# JackOnTheGreen
JackOnTheGreen= \
	slipjig/JackOnTheGreen_C.abc slipjig/JackOnTheGreen_F.abc \
	slipjig/JackOnTheGreen_D.abc slipjig/JackOnTheGreen_G.abc 
JackOnTheGreen: JackOnTheGreen.abc JackOnTheGreen.ps JackOnTheGreen.pdf
JackOnTheGreen.abc: hdr/JackOnTheGreen.hdr $(JackOnTheGreen)
	abcmedley +S JackOnTheGreen $(JackOnTheGreen) >JackOnTheGreen.abc
JackOnTheGreen.ps: JackOnTheGreen.abc fmt/_75.fmt
	$(a2p) JackOnTheGreen.abc +Ffmt/_75 \
	|PShdr JackOnTheGreen "" JackOnTheGreen \
	|PSftr %D $(URL) %D >JackOnTheGreen.ps
JackOnTheGreen.pdf: JackOnTheGreen.ps
	ps2pdf JackOnTheGreen.ps JackOnTheGreen.pdf

# Love an Opportunity
LoveAnOpportunity= \
	reel/LoveAnOpportunity_F.abc sep5 reel/LoveAnOpportunity_C.abc sep5x2 \
	reel/LoveAnOpportunity_G.abc sep5 reel/LoveAnOpportunity_D.abc sep5x2 \
	brief/LoveAnOpportunity.abc
LoveAnOpportunity: LoveAnOpportunity.abc LoveAnOpportunity.ps LoveAnOpportunity.pdf
LoveAnOpportunity.abc: $(LoveAnOpportunity)
	abcjoin $(LoveAnOpportunity) >LoveAnOpportunity.abc
LoveAnOpportunity.ps: LoveAnOpportunity.abc fmt/_75.fmt
	$(a2p) LoveAnOpportunity.abc +Ffmt/_75 \
	|PShdr LoveAnOpp "" LoveAnOpp \
	|PSftr %D $(URL) %D >LoveAnOpportunity.ps
LoveAnOpportunity.pdf: LoveAnOpportunity.ps
	ps2pdf LoveAnOpportunity.ps LoveAnOpportunity.pdf

# Paspie Minuet
PaspieMinuet= tune/PaspieMinuet_F.abc tune/PaspieMinuet_G.abc
PaspieMinuet: PaspieMinuet.abc PaspieMinuet.ps PaspieMinuet.pdf
PaspieMinuet.abc: $(PaspieMinuet)
	abcjoin +s $(PaspieMinuet) >PaspieMinuet.abc
PaspieMinuet.ps: PaspieMinuet.abc fmt/_75.fmt
	$(a2p) PaspieMinuet.abc +Ffmt/_75 \
	|PShdr PaspieMinuet "" PaspieMinuet \
	|PSftr %D $(URL) %D >PaspieMinuet.ps
PaspieMinuet.pdf: PaspieMinuet.ps
	ps2pdf PaspieMinuet.ps

# Fantocini
Fantocini= jig/Fantocini_F.abc x10.abc
Fantocini: Fantocini.abc Fantocini.ps Fantocini.pdf
Fantocini.abc: $(Fantocini)
	abcjoin +s $(Fantocini) >Fantocini.abc
Fantocini.ps: Fantocini.abc fmt/_75.fmt
	$(a2p) Fantocini.abc +Ffmt/_75 \
	|PShdr Fantocini "" Fantocini \
	|PSftr %D $(URL) %D >Fantocini.ps
Fantocini.pdf: Fantocini.ps
	ps2pdf Fantocini.ps

# Pleasure Of Love
PleasureOfLove= tune/Pleasures_of_Youth_G.abc tune/Pleasures_of_Youth_A.abc x8.abc
PleasureOfLove: PleasureOfLove.abc PleasureOfLove.ps PleasureOfLove.pdf
PleasureOfLove.abc: $(PleasureOfLove) hdr/PleasureOfLove.hdr
	abcmedley PleasureOfLove $(PleasureOfLove) >PleasureOfLove.abc
PleasureOfLove.ps: PleasureOfLove.abc fmt/_75.fmt
	$(a2p) PleasureOfLove.abc +Ffmt/_75 \
	|PShdr PleasureOfLove "" PleasureOfLove \
	|PSftr %D $(URL) %D >PleasureOfLove.ps
PleasureOfLove.pdf: PleasureOfLove.ps
	ps2pdf PleasureOfLove.ps

# Pleasures Of Providence
PleasuresOfProvidence= jig/PleasuresOfProvidence_F.abc jig/PleasuresOfProvidence_G.abc x8.abc
PleasuresOfProvidence: PleasuresOfProvidence.abc PleasuresOfProvidence.ps PleasuresOfProvidence.pdf
PleasuresOfProvidence.abc: $(PleasuresOfProvidence)
	abcjoin +s $(PleasuresOfProvidence) >PleasuresOfProvidence.abc
PleasuresOfProvidence.ps: PleasuresOfProvidence.abc fmt/_75.fmt
	$(a2p) PleasuresOfProvidence.abc +Ffmt/_75 \
	|PShdr PleasuresOfProvidence "" PleasuresOfProvidence \
	|PSftr %D $(URL) %D >PleasuresOfProvidence.ps
PleasuresOfProvidence.pdf: PleasuresOfProvidence.ps
	ps2pdf PleasuresOfProvidence.ps

# School for Lovers
SchoolForLovers= jig/SchoolForLovers_G.abc jig/SchoolForLovers_A.abc brief/SchoolForLovers.abc
SchoolForLovers: SchoolForLovers.abc SchoolForLovers.ps SchoolForLovers.pdf
SchoolForLovers.abc: $(SchoolForLovers)
	abcjoin +s $(SchoolForLovers) >SchoolForLovers.abc
SchoolForLovers.ps: SchoolForLovers.abc fmt/_75.fmt
	$(a2p) SchoolForLovers.abc +Ffmt/_75 \
	|PShdr SchoolForLovers "" SchoolForLovers \
	|PSftr %D $(URL) %D >SchoolForLovers.ps
SchoolForLovers.pdf: SchoolForLovers.ps
	ps2pdf SchoolForLovers.ps SchoolForLovers.pdf

