# = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = #
# This is the Makefile for my Sets tune collections. The tune sets here have  #
# been played at various parties and performances over the past decade or so. #
# = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = #
U= http://~jc/w/music/session/NYE

all: Sets

neat:         ; /bin/rm -f *.out *.log *-
clean:   neat ; /bin/rm -f *.pdf *.ps
clobber: clean; /bin/rm -f *.abc


# = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = #
# Event section follows:

event: events
events: 

# - - - - - - - - - - - - - - - - - - - - - - - - - # prototype without "all sets" .pdf file:
# yyyymmdd yyyy-mm-dd HH:MM pm
# Dance leader:
# Musicians:
#     MMM          MMM        # (days within months)
# DD DD DD DD  DD DD DD DD DD # (days within months)
# -- -- -- --  -- -- -- -- -- 0 (name)
yyyymmdd= (dance names)
yyyymmdd: events/yyyymmdd_program events/yyyymmdd events/yyyymmdd/yyyymmdd_program $(yyyymmdd)
	mkevent yyyymmdd $(yyyymmdd)
Pyyyymmdd: yyyymmdd yyyymmdd_program	# Print the program
	mkevent +p yyyymmdd $(yyyymmdd)
Pryyyymmdd: yyyymmdd yyyymmdd_program	# Print in reverse order
	mkevent +pr yyyymmdd $(yyyymmdd)
events/yyyymmdd_program: yyyymmdd_program
	ln -f yyyymmdd_program events/yyyymmdd_program
	ln -f yyyymmdd_program events/
events/yyyymmdd/yyyymmdd_program: yyyymmdd_program
	ln -f yyyymmdd_program events/yyyymmdd/yyyymmdd_program
events/yyyymmdd:
	mkdir -p events/yyyymmdd

# - - - - - - - - - - - - - - - - - - - - - - - - - # prototype with "all sets" .pdf file:
# YYYYMMDD YYYY-MM-DD hh:mm pm
# Dance leader(s):    
# Musicians:    
# - - - - - - - - - -
YYYYMMDD= \
	___
YYYYMMDD: event/YYYYMMDD event/YYYYMMDD_program.txt event/YYYYMMDD/YYYYMMDD_program.txt \
		 $(YYYYMMDD) event/YYYYMMDD/YYYYMMDD.pdf
	mkevent YYYYMMDD $(YYYYMMDD)
PYYYYMMDD: YYYYMMDD YYYYMMDD_program.txt	# Print the program
	mkevent +p YYYYMMDD $(YYYYMMDD)
PrYYYYMMDD: YYYYMMDD YYYYMMDD_program.txt	# Print in reverse order
	mkevent +pr YYYYMMDD $(YYYYMMDD)
event/YYYYMMDD_program.txt: YYYYMMDD_program.txt
	ln -f YYYYMMDD_program.txt event/YYYYMMDD_program.txt
	ln -f YYYYMMDD_program.txt event/
event/YYYYMMDD/YYYYMMDD_program.txt: YYYYMMDD_program.txt
	ln -f YYYYMMDD_program.txt event/YYYYMMDD/YYYYMMDD_program.txt
event/YYYYMMDD:
	mkdir -p event/YYYYMMDD
YYYYMMDD.pdf: $(YYYYMMDD)
	pdfjoin $(YYYYMMDD) >YYYYMMDD.pdf
event/YYYYMMDD/YYYYMMDD.pdf: YYYYMMDD.pdf
	ln -f YYYYMMDD.pdf event/YYYYMMDD/YYYYMMDD.pdf

# = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = #

Sets: 

# = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = #
# = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = #
# = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = #
# = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = #

# = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = #
# Prototype for making sets.  Note that this builds the source file in the
# current directory, then links the .abc file into the appropriate rhythm
# directory, and the .pdf file into the img directory.

# proto set
proto_set: proto_set.abc proto_set.pdf
proto_set= hdr/proto_set.hdr \
	ftr/proto_set.ftr
proto_set.abc: $(proto_set)
	abcjoin +C +RS $(proto_set) >proto_set.abc
	ln -f proto_set.abc ___/
proto_set.ps: proto_set.abc fmt/_80.fmt
	jcabc2ps proto_set.abc +Ffmt/_80.fmt \
	|PShdr 'proto' '' 'proto' \
	|PSftr "Page %P" $U/ %D >proto_set.ps
proto_set.pdf: proto_set.ps
	ps2pdf proto_set.ps proto_set.pdf
	ln -f proto_set.pdf img/
hdr/proto_set.hdr: ; touch hdr/proto_set.hdr
ftr/proto_set.ftr: ; touch ftr/proto_set.ftr
