NetBSD/external/bsd/flex/dist/tests/tableopts.sh

48 lines
1.5 KiB
Bash
Executable File

#!/bin/sh
set -eu
# IFS=$'\n\t'
IFS='
'' '
# This script is present to generate the automake _SOURCES variables
# for the tableopts_* tests. It also generates the linking rules for
# each test since automake isn't able to handle the pattern rules that
# would be natural to use. Output is written to standard output for
# inclusion in a Makefile.am, typically by redirecting the output and
# then an automake include directive.
TABLEOPTS_TESTS=""
tableopts_tables=""
for kind in opt ser ver ; do
for threading in nr r ; do
for opt in -Ca -Ce -Cf -CF -Cm -Cem -Cae -Caef -CaeF -Cam -Caem ; do
testname=tableopts_${kind}_${threading}${opt}.${kind}
if [ "${TABLEOPTS_TESTS}" = "" ] ;then
TABLEOPTS_TESTS=${testname}
if [ "$kind" = "ser" ] || [ "$kind" = "ver" ] ; then
tableopts_tables=${testname}.tables
fi
else
TABLEOPTS_TESTS="${TABLEOPTS_TESTS} ${testname}"
if [ "$kind" = "ser" ] || [ "$kind" = "ver" ] ; then
tableopts_tables="${tableopts_tables} ${testname}.tables"
fi
fi
bare_opt=${opt#-}
cat << EOF
tableopts_${kind}_${threading}_${bare_opt}_${kind}_SOURCES = tableopts.l4
${testname}\$(EXEEXT): tableopts_${kind}_${threading}${opt}.\$(OBJEXT)
\$(AM_V_CCLD)\$(LINK) -o \$@ \$<
EOF
done
done
done
echo TABLEOPTS_TESTS = ${TABLEOPTS_TESTS}
echo
echo tableopts_tables = ${tableopts_tables}