# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
a2p=jcabc2ps
U="http://trillian.mit.edu/~jc/OI"

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

.SUFFIXES:
.SUFFIXES: .ABC .abc .ps
#abc.ps:  $*.abc _70.fmt _70.fmt; $(a2p) +F_70 -n $*.abc > $*.ps
#abc.eps: $*.abc _70.fmt _70.fmt; $(a2p) -E +F_70 -n $*.abc > $*.eps

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

all: program abc ps pdf

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
# Printouts for special events:

program: Revontulet

Revontulet= \
	folk/LangdansNarpiosta.abc \
	waltz/SaimaanrannanLaulu.abc \
	folk/NuuskaPolkka.abc \
	folk/VironP.abc
Revontulet: Revontulet.abc Revontulet.ps Revontulet.pdf
Revontulet.abc: $(Revontulet)
	abcjoin +s "Revontulet" $(Revontulet) >Revontulet.abc
Revontulet.ps: Revontulet.abc _80.fmt
	$(a2p) +F_80 Revontulet.abc \
	| PShdr "Revontulet" "" "Revontulet" \
	| PSftr %D $U %D >Revontulet.ps
Revontulet.pdf: Revontulet.ps
	ps2pdf Revontulet.ps

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

abc= \
	ballroom.abc folk.abc hambo.abc humppa.abc march.abc mazurka.abc \
	polka.abc song.abc pols.abc shottish.abc tune.abc tango.abc \
	waltz.abc

pdf= \
	ballroom.pdf folk.pdf hambo.pdf humppa.pdf march.pdf mazurka.pdf \
	polka.pdf song.pdf pols.pdf shottish.pdf tune.pdf tango.pdf \
	waltz.pdf

ps= \
	ballroom.ps folk.ps hambo.ps humppa.ps march.ps mazurka.ps \
	polka.ps song.ps pols.ps shottish.ps tune.ps tango.ps \
	waltz.ps

books: abc dance pdf ps
abc: $(abc)
pdf: $(pdf)
ps: $(ps)

ballroom: ballroom.abc ballroom.ps ballroom.pdf
folk:     folk.abc     folk.ps     folk.pdf
hambo:    hambo.abc    hambo.ps    hambo.pdf
humppa:   humppa.abc   humppa.ps   humppa.pdf
mazurka:  mazurka.abc  mazurka.ps  mazurka.pdf
new:      new.abc      new.ps      new.pdf
polka:    polka.abc    polka.ps    polka.pdf
pols:     pols.abc     pols.ps     pols.pdf
shottish: shottish.abc shottish.ps shottish.pdf
march:    march.abc    march.ps    march.pdf
tune:     tune.abc     tune.ps     tune.pdf
tango:    tango.abc    tango.ps    tango.pdf
waltz:    waltz.abc    waltz.ps    waltz.pdf

ballroom.abc: ballroom/*.abc; abcjoin +s ballroom/*.abc >ballroom.abc
folk.abc:     folk/*.abc;     abcjoin +s folk/*.abc     >folk.abc
hambo.abc:    hambo/*.abc;    abcjoin +s hambo/*.abc    >hambo.abc
humppa.abc:   humppa/*.abc;   abcjoin +s humppa/*.abc   >humppa.abc
mazurka.abc:  mazurka/*.abc;  abcjoin +s mazurka/*.abc  >mazurka.abc
new.abc:      new/*.abc;      abcjoin +s new/*.abc      >new.abc
polka.abc:    polka/*.abc;    abcjoin +s polka/*.abc    >polka.abc
pols.abc:     pols/*.abc;     abcjoin +s pols/*.abc     >pols.abc
shottish.abc: shottish/*.abc; abcjoin +s shottish/*.abc >shottish.abc
march.abc:    march/*.abc;    abcjoin +s march/*.abc    >march.abc
tune.abc:     tune/*.abc;     abcjoin +s tune/*.abc     >tune.abc
tango.abc:    tango/*.abc;    abcjoin +s tango/*.abc    >tango.abc
waltz.abc:    waltz/*.abc;    abcjoin +s waltz/*.abc    >waltz.abc

ballroom.ps: ballroom.abc _60.fmt; $(a2p) ballroom.abc +c +F_60 +x |PShdr ballroom "" ballroom |PSftr "%D %T" $U/ballroom/ %P >ballroom.ps
folk.ps:     folk.abc     _70.fmt; $(a2p) folk.abc     -c +F_70 +x |PShdr folk     "" folk     |PSftr "%D %T" $U/folk/     %P >folk.ps
hambo.ps:    hambo.abc    _70.fmt; $(a2p) hambo.abc    -c +F_70 +x |PShdr hambo    "" hambo    |PSftr "%D %T" $U/hambo/    %P >hambo.ps
humppa.ps:   humppa.abc   _70.fmt; $(a2p) humppa.abc   -c +F_70 +x |PShdr humppa   "" humppa   |PSftr "%D %T" $U/humppa/   %P >humppa.ps
mazurka.ps:  mazurka.abc  _70.fmt; $(a2p) mazurka.abc  -c +F_70 +x |PShdr mazurka  "" mazurka  |PSftr "%D %T" $U/mazurka/  %P >mazurka.ps
new.ps:      new.abc      _60.fmt; $(a2p) new.abc      +c +F_60 +x |PShdr new      "" new      |PSftr "%D %T" $U/new/      %P >new.ps
polka.ps:    polka.abc    _70.fmt; $(a2p) polka.abc    -c +F_70 +x |PShdr polka    "" polka    |PSftr "%D %T" $U/polka/    %P >polka.ps
pols.ps:     pols.abc     _70.fmt; $(a2p) pols.abc     -c +F_70 +x |PShdr pols     "" pols     |PSftr "%D %T" $U/pols/     %P >pols.ps
shottish.ps: shottish.abc _70.fmt; $(a2p) shottish.abc -c +F_70 +x |PShdr shottish "" shottish |PSftr "%D %T" $U/shottish/ %P >shottish.ps
march.ps:    march.abc    _70.fmt; $(a2p) march.abc    -c +F_70 +x |PShdr march    "" march    |PSftr "%D %T" $U/march/    %P >march.ps
tune.ps:     tune.abc     _70.fmt; $(a2p) tune.abc     -c +F_70 +x |PShdr tune     "" tune     |PSftr "%D %T" $U/tune/     %P >tune.ps
tango.ps:    tango.abc    _70.fmt; $(a2p) tango.abc    -c +F_70 +x |PShdr tango    "" tango    |PSftr "%D %T" $U/tango/    %P >tango.ps
waltz.ps:    waltz.abc    _70.fmt; $(a2p) waltz.abc    -c +F_70 +x |PShdr waltz    "" waltz    |PSftr "%D %T" $U/waltz/    %P >waltz.ps

ballroom.pdf: ballroom.ps; ps2pdf ballroom.ps
folk.pdf:     folk.ps;     ps2pdf folk.ps
hambo.pdf:    hambo.ps;    ps2pdf hambo.ps
humppa.pdf:   humppa.ps;   ps2pdf humppa.ps
mazurka.pdf:  mazurka.ps;  ps2pdf mazurka.ps
new.pdf:      new.ps;      ps2pdf new.ps
polka.pdf:    polka.ps;    ps2pdf polka.ps
pols.pdf:     pols.ps;     ps2pdf pols.ps
shottish.pdf: shottish.ps; ps2pdf shottish.ps
march.pdf:    march.ps;    ps2pdf march.ps
tune.pdf:     tune.ps;     ps2pdf tune.ps
tango.pdf:    tango.ps;    ps2pdf tango.ps
waltz.pdf:    waltz.ps;    ps2pdf waltz.ps


# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
neat:         ; rm -f *-
clean:    neat; rm -f *.out *.ps *.pdf
clobber: clean; /bin/rm -f core $(abc)

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
mf= _1.abc _2.abc _3.abc
mf: mf.abc mf.ps
mf.abc: $(mf); abcmedley "mf" $(mf) >mf
mf.ps: mf.fmt mf.abc; $(a2p) +Fmf mf.abc > mf.ps

mh= _1.abc _2.abc _3.abc
mh: hdr/mh.hdr mh.ps
mh.abc: hdr/mh.hdr $(mh)
	abcmedley "Title" $(mh) >mh.abc
mh.ps: mh.abc _70.fmt
	$(a2p) +F_70 mh.abc \
	| PShdr "mh" "" "mh" \
	| PSftr %D $U %D >mh.ps

xx.ps: dir/xx.abc _70.fmt
	$(a2p) +F_70 dir/xx.abc \
	| PShdr "xx" "" "xx" \
	| PSftr %D $U %D >xx.ps

yy= dd/yy_K.abc dd/yy_K.abc x8.abc
yy: yy.abc yy.ps yy.pdf
yy.abc: $(yy)
	abcmedley "yy" $(yy) >yy.abc
yy.ps: yy.abc _75.fmt
	$(a2p) +F_75 yy.abc > yy.ps
yy.pdf: yy.ps
	ps2pdf yy.ps

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

singles: SemmonenTammonen VaiennutViulu \
	OravaisMenuetPolska PolkaMedley1

song: song.abc song.ps song.pdf
song.abc: SemmonenTammonen.abc VaiennutViulu.abc 
song.ps:  SemmonenTammonen.ps  VaiennutViulu.ps 
song.pdf: SemmonenTammonen.pdf VaiennutViulu.pdf 

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
# The rest of this makefile deals with making pages of music. They are mostly #
# medleys for a specific sort of dance.                                       #
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #

OravaisMenuetPolska= minuet/MenuettFrOravais.abc pols/PolsFrOvermark.abc
OravaisMenuetPolska: OravaisMenuetPolska.abc OravaisMenuetPolska.ps OravaisMenuetPolska.pdf
OravaisMenuetPolska.abc: $(OravaisMenuetPolska)
	abcmedley "Oravais Menuett & Polska" $(OravaisMenuetPolska) >OravaisMenuetPolska.abc
OravaisMenuetPolska.ps: OravaisMenuetPolska.abc _80.fmt
	$(a2p) +F_80 OravaisMenuetPolska.abc > OravaisMenuetPolska.ps
OravaisMenuetPolska.pdf: OravaisMenuetPolska.ps
	ps2pdf OravaisMenuetPolska.ps

PolkaMedley1= polka/HoputasP_Am.abc save/Polka4_Am.abc
PolkaMedley1: PolkaMedley1.abc PolkaMedley1.ps
PolkaMedley1.abc: $(PolkaMedley1)
	abcmedley -s "Polka Medley 1" $(PolkaMedley1) >PolkaMedley1.abc
PolkaMedley1.ps: PolkaMedley1.abc _75.fmt
	$(a2p) +F_75 PolkaMedley1.abc > PolkaMedley1.ps

SemmonenTammonen= song/Semmonen_Tammonen_Dm_W.abc sep5 misc/Semmonen_Tammonen_Gm.abc 
SemmonenTammonen: SemmonenTammonen.abc SemmonenTammonen.ps SemmonenTammonen.pdf
SemmonenTammonen.abc: $(SemmonenTammonen)
	abcjoin $(SemmonenTammonen) >SemmonenTammonen.abc
SemmonenTammonen.ps: SemmonenTammonen.abc _75.fmt
	$(a2p) +F_75 SemmonenTammonen.abc > SemmonenTammonen.ps
SemmonenTammonen.pdf: SemmonenTammonen.ps
	ps2pdf SemmonenTammonen.ps

VaiennutViulu= song/VaiennutViulu_Gm_w.abc misc/VaiennutViulu_Am.abc
VaiennutViulu: VaiennutViulu.abc VaiennutViulu.ps VaiennutViulu.pdf
VaiennutViulu.abc: $(VaiennutViulu)
	abcjoin $(VaiennutViulu) >VaiennutViulu.abc
VaiennutViulu.ps: VaiennutViulu.abc _80.fmt
	$(a2p) +F_80 VaiennutViulu.abc > VaiennutViulu.ps
VaiennutViulu.pdf: VaiennutViulu.ps
	ps2pdf VaiennutViulu.ps

