# Last edited on 2002-01-18 10:31:17 by stolfi
# Makefile for tabulating frequencies of basic glyph repeats

all: singles joined

GLYPHS := e,i,o,a,y,l,d,Ch,Sh,r,s,n,m,q,k,t,CKh,CTh,f,p,CFh,CPh
LANG := voyn
BOOK := maj
SUBDIR := ${LANG}/${BOOK}/tot.1
SOURCE_WFR := ${SUBDIR}/gud.wfr
MAX_REPEAT = 4

OUT_PRF := ${SUBDIR}/glyph-rep
TW_FRQ_FILES := \
  dat/${OUT_PRF}-t.frq \
  dat/${OUT_PRF}-w.frq 
JFR_JOINED :=  ${OUT_PRF}-tw.jfr
TEX_JOINED :=  ${OUT_PRF}-tw-freqs.tex

joined: dat/${JFR_JOINED} dat/${TEX_JOINED}

singles: 
	for tw in t w; do \
	  ${MAKE} TW=$$tw -f glyph-rep-freqs.make single; \
	done

dat/${JFR_JOINED}: singles
	@echo "dat/${OUT_PRF}-{t,w}.frq -> dat/${JFR_JOINED}"
	join \
	    -1 3 -2 3 -o 1.1,1.2,2.1,2.2,0 \
	    ${TW_FRQ_FILES} \
	  > dat/${JFR_JOINED}

dat/${TEX_JOINED}: dat/${JFR_JOINED} \
            tex-format-elem-rep-tw-freqs parse-elem-list.gawk \
            glyph-rep-freqs.make
	@echo "dat/${JFR_JOINED} -> dat/${TEX_JOINED}"
	cat dat/${JFR_JOINED} \
	  | tex-format-elem-rep-tw-freqs -f parse-elem-list.gawk \
	      -v elemList="${GLYPHS}" \
	      -v maxRepeat=${MAX_REPEAT} \
              -v showCounts=1 -v showFreqs=1 \
	  > dat/${TEX_JOINED}
	update-paper-include dat/${TEX_JOINED} exp/${TEX_JOINED} 

######################################################################
# Recursive make for token/word
# Caller must define ${TW} = "t" or "w"
#
TW := TW.IS.UNDEFINED
ifneq "${TW}" "TW.IS.UNDEFINED"

OUT_PRF_TW := ${OUT_PRF}-${TW}
FRQ_SINGLE := ${OUT_PRF_TW}.frq
TEX_SINGLE := ${OUT_PRF_TW}-freq.tex

single: dat/${FRQ_SINGLE} dat/${TEX_SINGLE}

dat/${FRQ_SINGLE}: dat/${SOURCE_WFR} \
            capitalize-ligatures \
            factor-field-general factor-text-eva-to-basic.gawk \
            count-elems parse-elem-list.gawk compute-freqs \
            glyph-rep-freqs.make
	@echo "dat/${SOURCE_WFR} -> dat/${FRQ_SINGLE}"
	cat dat/${SOURCE_WFR} \
	  | capitalize-ligatures -v field=3 \
	  | factor-field-general \
              -f factor-text-eva-to-basic.gawk \
              -v inField=3 -v outField=4 \
	  | gawk -v tw="${TW}" '/./{ print (tw == "t" ? $$1 : 1), $$4; }'  \
	  | count-elems -f parse-elem-list.gawk \
	      -v elemList="${GLYPHS}" \
	      -v joinRepeats=1 \
	      -v showBadWords=0 \
	  | compute-freqs \
	  > dat/${FRQ_SINGLE}

dat/${TEX_SINGLE}: dat/${FRQ_SINGLE} \
            tex-format-elem-rep-freqs parse-elem-list.gawk \
            glyph-rep-freqs.make
	@echo "dat/${FRQ_SINGLE} -> dat/${TEX_SINGLE}"
	cat dat/${FRQ_SINGLE} \
	  | tex-format-elem-rep-freqs -f parse-elem-list.gawk \
	      -v elemList="${GLYPHS}" \
	      -v showCounts=1 -v showFreqs=0 \
	      -v maxRepeat=${MAX_REPEAT} \
	  > dat/${TEX_SINGLE}
	update-paper-include dat/${TEX_SINGLE} exp/${TEX_SINGLE} 

endif
# End of ${TW} recursion
######################################################################