# Last edited on 2010-02-18 23:43:38 by stolfi PROGDIR := .. PROG := txtable-reformat LIBS := \ txtable.py JSLIBS := \ argparser.py # Test arguments are separated by '/' # Each underscore in the arguments will be replaced by a space. TESTS := \ C/NONE/_/Z_E_R_O ALL_TESTS := \ B/,/:/~ \ A/./,/--- \ C/NONE/_/Z_E_R_O all: all-tests all-tests: for tt in ${addprefix ',${addsuffix ',${TESTS}}} ; do \ ${MAKE} TEST_ARGS="$$tt" single-test; \ done ###################################################################### # Recursive make; the caller must define ${TEST_ARGS}. ifneq "/${TEST_ARGS}" "/" TEST_FIELDS := ${subst /, ,${TEST_ARGS}} NAME := ${word 1, ${TEST_FIELDS}} FR_SEP := ${word 2, ${TEST_FIELDS}} TH_SEP := ${word 3, ${TEST_FIELDS}} ALT_ZERO := ${word 4, ${TEST_FIELDS}} INFILE := in-${NAME}.tbl OTFILE := ot-${NAME}.tbl GBFILE := gb-${NAME}.tbl JSLIBDIR := ${STOLFIHOME}/lib single-test: ${OTFILE} FULL_PROG := ${PROGDIR}/${PROG} FULL_LIBS := \ ${addprefix ${PROGDIR}/, ${LIBS}} \ ${addprefix ${JSLIBDIR}/, ${JSLIBS}} ${OTFILE}: ${INFILE} ${FULL_PROG} ${FULL_LIBS} Makefile ${PROGDIR}/${PROG} \ ${addprefix -m , ${FULL_LIBS}} \ -frSep '${subst _, ,${FR_SEP}}' \ -thSep '${subst _, ,${TH_SEP}}' \ -altZero '${subst _, ,${ALT_ZERO}}' \ -tblSep '^[ ]*FINIS[ ]*$$' \ < ${INFILE} \ > ${OTFILE} @if ( cmp -s ${GBFILE} ${OTFILE} ); then \ echo "OK"; \ else \ echo "BUG"; \ prdiff ${GBFILE} ${OTFILE}; \ fi cat ${OTFILE} endif # End of ${TEST} section. ######################################################################