# Last edited on 2002-01-18 14:52:34 by stolfi # Makefile for tabulating frequencies of stroke pairs # across word blanks (rightmost stroke of one glyph # against leftmost stroke of next glyph). all: for tw in t w; do \ ${MAKE} TW=$$tw -f stroke-pair-freqs.make single; \ done # Use precomputed word frequency table for the entire VMS. LANG := voyn BUK := maj SUBDIR := ${LANG}/${BUK}/tot.1 SOURCE_WFR := ${SUBDIR}/gud.wfr ROW_STROKES := _,Q,E,I,D,Y,G,R,N,M,P,J COL_STROKES := _,Q,E,I,K,T OUT_PRF := ${SUBDIR}/stroke-pair ###################################################################### # Recursive make for tokens or words # Caller must define ${TW} = "t" or "w" # TW := TW.IS.UNDEFINED ifneq "${TW}" "TW.IS.UNDEFINED" OUT_PRF_TW := ${OUT_PRF}-${TW} SPF_TW := ${OUT_PRF_TW}.spf TEX_CTS_TW := ${OUT_PRF_TW}-counts.tex single: single-counttbl single-freqtbls single-counttbl: dat/${SPF_TW} dat/${TEX_CTS_TW} single-freqtbls: ${MAKE} TW=${TW} PN=next -f stroke-pair-freqs.make freqtbl ${MAKE} TW=${TW} PN=prev -f stroke-pair-freqs.make freqtbl dat/${SPF_TW}: dat/${SOURCE_WFR} \ capitalize-ligatures \ factor-field-general factor-text-eva-to-basic.gawk \ count-elem-pairs parse-elem-list.gawk \ compute-row-col-freqs @echo "dat/${SOURCE_WFR} -> dat/${SPF_TW}" 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 \ | elem-to-stroke-pair -v inField=4 -v outField=5 \ | gawk -v tw="${TW}" '/./{ print (tw == "t" ? $$1 : 1), $$5; }' \ | count-elem-pairs -f parse-elem-list.gawk \ -v endMarker='_' -v showBadWords=0 \ -v rowList="${ROW_STROKES}" -v colList="${COL_STROKES}" \ | compute-row-col-freqs -v outputTotals=1 \ > dat/${SPF_TW} dat/${TEX_CTS_TW}: dat/${SPF_TW} \ tex-format-elem-pair-freqs parse-elem-list.gawk @echo "dat/${SPF_TW} -> dat/${TEX_CTS_TW}" cat dat/${SPF_TW} \ | tex-format-elem-pair-freqs -f parse-elem-list.gawk \ -v rowList="${ROW_STROKES}" \ -v colList="${COL_STROKES},-,+" \ -v endMarker='_' -v minFreq=0.015 \ -v showCounts=1 \ -v showColFreqs=0 -v showRowFreqs=0 \ -v elemPrefix='\\sk' \ > dat/${TEX_CTS_TW} update-paper-include dat/${TEX_CTS_TW} exp/${TEX_CTS_TW} ###################################################################### # Recursive make for prev/next frequency tables. # Caller must define ${TW} = "t" or "w" # and ${PN} = "prev" or "next" # PN := PN.IS.UNDEFINED ifneq "${PN}" "PN.IS.UNDEFINED" OUT_PRF_TW_PN := ${OUT_PRF_TW}-${PN} TEX_FRQ_TW_PN := ${OUT_PRF_TW_PN}-freqs.tex freqtbl: dat/${TEX_FRQ_TW_PN} dat/${TEX_FRQ_TW_PN}: dat/${SPF_TW} \ tex-format-elem-pair-freqs parse-elem-list.gawk @echo "dat/${SPF_TW} -> dat/${TEX_FRQ_TW_PN}" ifeq "${PN}" "next" cat dat/${SPF_TW} \ | tex-format-elem-pair-freqs -f parse-elem-list.gawk \ -v rowList="${ROW_STROKES}" \ -v colList="`echo ${COL_STROKES} | sed -e 's/[,][-]//g'`" \ -v endMarker='_' -v minFreq=0.015 \ -v showCounts=0 \ -v showRowFreqs=1 -v showColFreqs=0 \ -v elemPrefix='\\sk' \ > dat/${TEX_FRQ_TW_PN} endif ifeq "${PN}" "prev" cat dat/${SPF_TW} \ | tex-format-elem-pair-freqs -f parse-elem-list.gawk \ -v rowList="`echo ${ROW_STROKES} | sed -e 's/[,][-]//g'`" \ -v colList="${COL_STROKES}" \ -v endMarker='_' -v minFreq=0.015 \ -v showCounts=0 \ -v showRowFreqs=0 -v showColFreqs=1 \ -v elemPrefix='\\sk' \ > dat/${TEX_FRQ_TW_PN} endif update-paper-include dat/${TEX_FRQ_TW_PN} exp/${TEX_FRQ_TW_PN} endif # End of ${PN} recursion ###################################################################### endif # End of ${TW} recursion ######################################################################