# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # U=http://trillian.mit.edu/~jc/music/abc/Ireland/ a2p=jcabc2ps .SUFFIXES: # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # # Note that the "clobber" entry deletes the abc files in this directory. They # # are all medleys, derived from single-tune files in subdirectories, so this # # shouldn't actually lose any music. But this means that any abc files here # # must either be derived files or must be linked somewhere else. # # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # all: special medleys books # .htaccess # tunes # books # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # # MEDLEYS, using jc's abcmedley program. medleys: # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # # Here are our cleanup entries. The "clobber" entry deletes all the lowercase # abc files, but not those whose names start with an uppercase letter. This # will leave all our dance medleys in place, while deleting the "books". neat: ; rm -f *- core *.out Out.ps clean: neat; rm -f *.log *.pdf *.ps new.* $(books_abc) find new/ -name '*.abc' -mtime +30 -exec ls -l {} ';' -exec rm {} ';' clobber: clean; rm -f [a-z]??*.abc new/*.abc rm -rf program/[12][0-9]*/ # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # # Here's how we package it up for distribution: D=`dt` tarkit: ../Ireland-$D.tar.gz ../Ireland-$D.tar.gz: ../Ireland-$D.tar gzip ../Ireland-$D.tar ../Ireland-$D.tar: Makefile * */*.abc make clean tar cf ../Ireland-$D.tar . # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # # The .htaccess file explains to the apache web server what's in the files. # We fill in descriptions of the abc files from the first T: line, so that # the dance names appear in HTML listings of the directory. This actually # propagates to subdirectories, so we only to do it here. .htaccess: *.abc abcDesc *.abc # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # # Here are some entries for creating programs: program programs: # 2006____ _:__ pm # Dance leader: # Musicians: # 2006____= 2006____: program/2006____ mkprog 2006____ $(2006____) P2006____: program/2006____ mkprog -p 2006____ $(2006____) program/2006____: mkdir -p program/2006____ # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # # Entries to create special files if they are clobbered: special: _1.abc _2.abc _3.abc fonts.fmt _3.abc: ../misc/_3.abc; ln ../misc/_3.abc _3.abc _2.abc: ../misc/_2.abc; ln ../misc/_2.abc _2.abc _1.abc: ../misc/_1.abc; ln ../misc/_1.abc _1.abc fonts.fmt: ../fmt/fonts.fmt; ln -f ../fmt/fonts.fmt fonts.fmt _65.fmt: ../fmt/_65.fmt; ln -f ../fmt/_65.fmt _65.fmt _70.fmt: ../fmt/_70.fmt; ln -f ../fmt/_70.fmt _70.fmt _75.fmt: ../fmt/_75.fmt; ln -f ../fmt/_75.fmt _75.fmt _80.fmt: ../fmt/_80.fmt; ln -f ../fmt/_80.fmt _80.fmt # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # # 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= new.abc \ air.abc hornpipe.abc jig.abc march.abc reel.abc shottish.abc \ slipjig.abc waltz.abc books_ps= new.ps \ air.ps hornpipe.ps jig.ps march.ps reel.ps shottish.ps \ slipjig.ps waltz.ps books_pdf= new.pdf \ air.pdf hornpipe.pdf jig.pdf march.pdf reel.pdf shottish.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 air air/*.abc > air.abc hornpipe.abc: hornpipe/*.abc; abcjoin +R +S hornpipe hornpipe/*.abc > hornpipe.abc jig.abc: jig/*.abc; abcjoin +R +S jig jig/*.abc > jig.abc march.abc: march/*.abc; abcjoin +R +S march march/*.abc > march.abc polka.abc: polka/*.abc; abcjoin +R +S polka polka/*.abc > polka.abc reel.abc: reel/*.abc; abcjoin +R +S reel reel/*.abc > reel.abc shottish.abc: shottish/*.abc; abcjoin +R +S shottish shottish/*.abc > shottish.abc slipjig.abc: slipjig/*.abc; abcjoin +R +S slipjig slipjig/*.abc > slipjig.abc waltz.abc: waltz/*.abc; abcjoin +R +S waltz waltz/*.abc > waltz.abc air.ps: air.abc; $(a2p) +c air.abc +x +Ffmt/_65 |PSftr "Page %P" $(U)air/ %D >air.ps hornpipe.ps: hornpipe.abc; $(a2p) +c hornpipe.abc +x +Ffmt/_65 |PSftr "Page %P" $(U)hornpipe/ %D >hornpipe.ps jig.ps: jig.abc; $(a2p) +c jig.abc +x +Ffmt/_65 |PSftr "Page %P" $(U)jig/ %D >jig.ps march.ps: march.abc; $(a2p) +c march.abc +x +Ffmt/_65 |PSftr "Page %P" $(U)march/ %D >march.ps polka.ps: polka.abc; $(a2p) +c polka.abc +x +Ffmt/_65 |PSftr "Page %P" $(U)polka/ %D >polka.ps reel.ps: reel.abc; $(a2p) +c reel.abc +x +Ffmt/_65 |PSftr "Page %P" $(U)reel/ %D >reel.ps shottish.ps: shottish.abc; $(a2p) +c shottish.abc +x +Ffmt/_65 |PSftr "Page %P" $(U)shottish/ %D >shottish.ps slipjig.ps: slipjig.abc; $(a2p) +c slipjig.abc +x +Ffmt/_65 |PSftr "Page %P" $(U)slipjig/ %D >slipjig.ps waltz.ps: waltz.abc; $(a2p) +c waltz.abc +x +Ffmt/_65 |PSftr "Page %P" $(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 shottish.pdf: shottish.ps; ps2pdf shottish.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 shottish: shottish.abc shottish.ps shottish.pdf slipjig: slipjig.abc slipjig.ps slipjig.pdf waltz: waltz.abc waltz.ps waltz.pdf # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # # tunes tunes= \ jig/BanksOfLochGowna_Bm.abc \ jig/HumoursOfBandon_Am.abc \ jig/JoeDerranesJ_Bm.abc \ jig/PenultimateJig.abc \ jig/TripToAthlone3_D.abc \ jig/WillieColemansJ2_G.abc \ reel/AllAroundTheWorld_D_4.abc \ reel/BoyneHunt_D.abc \ reel/ConcertinaReel_D_4.abc \ reel/EarlsChair_D_4.abc \ reel/FloggingReel_G.abc \ reel/GravelWalk.abc \ reel/HighReel_A.abc \ reel/JackieColemansNo1_D_2.abc \ reel/LadyAnneMontgomery_D.abc \ reel/LongfordCollector_G.abc \ reel/McMahonsR.abc \ reel/MusicalPriest.abc \ reel/OldCopperplate_Am.abc \ reel/PigeonOnTheGate1_Em_3.abc \ reel/SailorsBonnet_D.abc \ reel/SallyGardens.abc \ reel/SilverSpear_D.abc \ reel/SilverSpire2_D.abc \ reel/TarboltonReel_Em_3.abc \ reel/TomBillysReel_D_3.abc \ reel/TossTheFeathers.abc \ reel/TripToDurrow.abc \ reel/TripToDurrow3.abc \ tunes: tunes.abc tunes.ps tunes.pdf tunes.abc: $(tunes) abcjoin +CRS $(tunes) >tunes.abc tunes.ps: tunes.abc fmt/tunes.fmt $(a2p) tunes.abc +x +Ffmt/tunes |PShdr %P "IRISH TUNES" %P |PSftr %D $U %D >tunes.ps tunes.pdf: tunes.ps ps2pdf tunes.ps # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # new: */*.abc # new.abc new.ps new.pdf find */ -mtime -30 -name '*.abc' | xargs tonew make new.abc new.ps new.pdf new.abc: new/*.abc abcjoin +R +S new new/*.abc > new.abc new.ps: new.abc fmt/new.fmt $(a2p) new.abc +x +Ffmt/new \ |PShdr %P "NEW IRISH TUNES" %P \ |PSftr %D $(U)new/ %D >new.ps new.pdf: new.ps ps2pdf new.ps # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # # Build a few pages of reels for various purposes: reels = \ reel/AllAroundTheWorld_D_4.abc \ reel/ConcertinaReel_D_4.abc \ reel/EarlsChair_D_4.abc \ reel/FloggingReel_G.abc \ reel/GravelWalk.abc \ reel/HighReel_A.abc \ reel/JackieColemansNo1_D_2.abc \ reel/JackieColemansNo1_D_3.abc \ reel/LadyAnneMontgomery_D.abc \ reel/McMahonsR.abc \ reel/MusicalPriest.abc \ reel/PigeonOnTheGate1_Em_3.abc \ reel/PigeonOnTheGate1_Em_4.abc \ reel/SailorsBonnet_D.abc \ reel/SallyGardens.abc \ reel/SilverSpear_D.abc \ reel/TarboltonReel_Em_3.abc \ reel/TarboltonReel_Em_4.abc \ reel/TomBillysReel_D_3.abc \ reel/TomBillysReel_D_4.abc \ reel/TossTheFeathers.abc \ reel/TripToDurrow.abc \ reel/TripToDurrow3.abc \ reels: reels.abc reels.ps reels.pdf reels.abc: $(reels) abcjoin +CRS $(reels) > reels.abc reels.ps: reels.abc fmt/reels.fmt $(a2p) reels.abc +x +Ffmt/reels \ |PShdr %P "IRISH REELS" %P \ |PSftr %D $(U)reels/ %D >reels.ps reels.pdf: reels.ps ps2pdf reels.ps # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # incips: incip_jig.ps incip_reel.ps incip_march.ps incip_waltz.ps incip_jig.abc: jig/[a-Z]*.abc; abc2bars "jigs" jig/[a-Z]*.abc > incip_jig.abc incip_reel.abc: reel/[a-Z]*.abc; abc2bars "reels" reel/[a-Z]*.abc > incip_reel.abc incip_march.abc: march/[a-Z]*.abc; abc2bars "marches" march/[a-Z]*.abc > incip_march.abc incip_waltz.abc: waltz/[a-Z]*.abc; abc2bars "waltzes" waltz/[a-Z]*.abc > incip_waltz.abc incip_jig.ps: incip_jig.abc; $(a2p) incip_jig.abc -1 -c > incip_jig.ps incip_reel.ps: incip_reel.abc; $(a2p) incip_reel.abc -1 -c > incip_reel.ps incip_march.ps: incip_march.abc; $(a2p) incip_march.abc -1 -c > incip_march.ps incip_waltz.ps: incip_waltz.abc; $(a2p) incip_waltz.abc -1 -c > incip_waltz.ps # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # # xxx doesn't look good with full page width. American "standard" 8.5x11 # paper has a "width" of 541 points. The following produces a close to # centered version with an extra inch of margin. xxx.ps: xxx.abc $(a2p) -m 100 -w 400 xxx.abc |PShdr "" "" "" |PSftr %D $U %D >xxx.ps # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # # Here is a prototype for making medley pages in various ways: # jj jj= _.abc jj: jj.abc jj.ps jj.pdf jj.abc: $(jj) # hdr/jj.hdr abcjoin +s $(jj) >jj.abc jj.ps: jj.abc fmt/_75.fmt $(a2p) +c jj.abc +Ffmt/_75 |PShdr jj "" jj |PSftr %D $U %D >jj.ps jj.pdf: jj.ps ps2pdf jj.ps # mm0 mm: mm0 # mm0 mm0= x10.abc mm0: mm0.abc mm0.ps mm0.pdf mm0.abc: hdr/mm.hdr $(mm0) abcmedley mm $(mm0) >mm0.abc mm0.ps: mm0.abc fmt/_75.fmt $(a2p) mm0.abc +Ffmt/_75 |PShdr mm "" mm |PSftr %D $U %D >mm0.ps mm0.pdf: mm0.ps ps2pdf mm0.ps # xx xx= x8.abc xx: xx.abc xx.ps xx.pdf xx.abc: hdr/xx.hdr $(xx) abcmedley xx $(xx) >xx.abc xx.ps: xx.abc fmt/_75.fmt $(a2p) xx.abc +Ffmt/_75 |PShdr xx "" xx |PSftr %D $U %D >xx.ps xx.pdf: xx.ps ps2pdf xx.ps # yy yy= x8.abc yy: yy.abc yy.ps yy.pdf yy.abc: hdr/yy.hdr $(yy) abcmedley yy $(yy) >yy.abc yy.ps: yy.abc fmt/_75.fmt $(a2p) yy.abc +Ffmt/_75 |PShdr "" "" "" |PSftr %D $U %D >yy.ps yy.pdf: yy.ps ps2pdf yy.ps # Multiple versions: # zz zz: zz0 # zz 0 zz0= x8.abc zz0: zz0.abc zz0.ps zz0.pdf zz0.abc: hdr/zz.hdr $(zz0) abcmedley "zz" $(zz0) >zz0.abc zz0.ps: zz0.abc fmt/_75.fmt $(a2p) zz0.abc +Ffmt/_75 |PShdr "" "" "" |PSftr %D $U %D >zz0.ps zz0.pdf: zz0.ps ps2pdf zz0.ps # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # singles: LongNote PigeonOnTheGate SalamancaReel # Long Note LongNote= jig/LongNote_D.abc reel/LongNoteR_D.abc LongNote: LongNote.abc LongNote.ps LongNote.pdf LongNote.abc: $(LongNote) # hdr/LongNote.hdr abcjoin +s $(LongNote) >LongNote.abc LongNote.ps: LongNote.abc fmt/_75.fmt $(a2p) +c LongNote.abc +Ffmt/_75 |PShdr LongNote "" LongNote |PSftr %D $U %D >LongNote.ps LongNote.pdf: LongNote.ps ps2pdf LongNote.ps # Salamanca Reel SalamancaReel= reel/SalamancaReel1_D.abc reel/SalamancaReel2_D.abc reel/SalamancaReel3_D.abc SalamancaReel: SalamancaReel.abc SalamancaReel.ps SalamancaReel.pdf SalamancaReel.abc: $(SalamancaReel) # hdr/SalamancaReel.hdr abcjoin +s $(SalamancaReel) >SalamancaReel.abc SalamancaReel.ps: SalamancaReel.abc fmt/_75.fmt $(a2p) SalamancaReel.abc +Ffmt/_75 |PShdr SalamancaR "" SalamancaR |PSftr %D $U %D >SalamancaReel.ps SalamancaReel.pdf: SalamancaReel.ps ps2pdf SalamancaReel.ps # Silver Spire SilverSpire= reel/SilverSpire1_D.abc reel/SilverSpire2_D.abc # reel/SilverSpire3_D.abc SilverSpire: SilverSpire.abc SilverSpire.ps SilverSpire.pdf SilverSpire.abc: $(SilverSpire) # hdr/SilverSpire.hdr abcjoin +s $(SilverSpire) >SilverSpire.abc SilverSpire.ps: SilverSpire.abc fmt/_75.fmt $(a2p) SilverSpire.abc +Ffmt/_75 |PShdr SilverR "" SilverR |PSftr %D $U %D >SilverSpire.ps SilverSpire.pdf: SilverSpire.ps ps2pdf SilverSpire.ps # PigeonOnTheGate PigeonOnTheGate= \ reel/PigeonOnTheGate1_Em.abc \ reel/PigeonOnTheGate2_G.abc \ reel/PigeonOnTheGate3_A.abc \ reel/PigeonOnTheGate4_Gm.abc reel/PigeonOnTheGate4_Em.abc \ reel/PigeonOnTheGate5_Em.abc \ reel/PigeonOnTheGate6_G.abc PigeonOnTheGate: PigeonOnTheGate.abc PigeonOnTheGate.ps PigeonOnTheGate.pdf PigeonOnTheGate.abc: $(PigeonOnTheGate) # hdr/PigeonOnTheGate.hdr abcjoin +s $(PigeonOnTheGate) >PigeonOnTheGate.abc PigeonOnTheGate.ps: PigeonOnTheGate.abc fmt/_70.fmt $(a2p) PigeonOnTheGate.abc +Ffmt/_70 \ |PShdr PigeonOnTheGate "" PigeonOnTheGate \ |PSftr %D $U %D >PigeonOnTheGate.ps PigeonOnTheGate.pdf: PigeonOnTheGate.ps ps2pdf PigeonOnTheGate.ps