14ddbe5acSMark Johnston 24ddbe5acSMark Johnstonusage() 34ddbe5acSMark Johnston{ 44ddbe5acSMark Johnston cat <<__EOF__ >&2 54ddbe5acSMark Johnstonusage: $(basename $0) 64ddbe5acSMark Johnston 74ddbe5acSMark JohnstonThis script regenerates the DTrace test suite makefiles. It should be run 84ddbe5acSMark Johnstonwhenever \$srcdir/cddl/contrib/opensolaris/cmd/dtrace/test/tst is modified. 94ddbe5acSMark Johnston__EOF__ 104ddbe5acSMark Johnston exit 1 114ddbe5acSMark Johnston} 124ddbe5acSMark Johnston 134ddbe5acSMark Johnston# Format a file list for use in a make(1) variable assignment: take the 144ddbe5acSMark Johnston# basename of each input file and append " \" to it. 154ddbe5acSMark Johnstonfmtflist() 164ddbe5acSMark Johnston{ 174ddbe5acSMark Johnston awk 'function bn(f) { 184ddbe5acSMark Johnston sub(".*/", "", f) 194ddbe5acSMark Johnston return f 204ddbe5acSMark Johnston } 214ddbe5acSMark Johnston {print " ", bn($1), " \\"}' 224ddbe5acSMark Johnston} 234ddbe5acSMark Johnston 244ddbe5acSMark Johnstongenmakefile() 254ddbe5acSMark Johnston{ 262df0edc1SMark Johnston local class=$1 272df0edc1SMark Johnston local group=$2 284ddbe5acSMark Johnston 292df0edc1SMark Johnston local tdir=${CONTRIB_TESTDIR}/${class}/${group} 304ddbe5acSMark Johnston local tfiles=$(find $tdir -type f -a \ 314ddbe5acSMark Johnston \( -name \*.d -o -name \*.ksh -o -name \*.out \) | sort | fmtflist) 324ddbe5acSMark Johnston local tcfiles=$(find $tdir -type f -a -name \*.c | sort | fmtflist) 334ddbe5acSMark Johnston local texes=$(find $tdir -type f -a -name \*.exe | sort | fmtflist) 344ddbe5acSMark Johnston 354ddbe5acSMark Johnston # One-off variable definitions. 364ddbe5acSMark Johnston local special 372df0edc1SMark Johnston case "$group" in 3808dde4d4SEnji Cooper proc) 394ddbe5acSMark Johnston special=" 40eacae6dcSBryan DreweryLIBADD.tst.sigwait.exe+= rt 414ddbe5acSMark Johnston" 4208dde4d4SEnji Cooper ;; 4308dde4d4SEnji Cooper raise) 4408dde4d4SEnji Cooper special=" 4508dde4d4SEnji CooperTEST_METADATA.t_dtrace_contrib+= required_memory=\"4g\" 4608dde4d4SEnji Cooper" 4708dde4d4SEnji Cooper ;; 4808dde4d4SEnji Cooper safety) 4908dde4d4SEnji Cooper special=" 5008dde4d4SEnji CooperTEST_METADATA.t_dtrace_contrib+= required_memory=\"4g\" 5108dde4d4SEnji Cooper" 5208dde4d4SEnji Cooper ;; 5308dde4d4SEnji Cooper uctf) 544ddbe5acSMark Johnston special=" 554ddbe5acSMark JohnstonWITH_CTF=YES 564ddbe5acSMark Johnston" 5708dde4d4SEnji Cooper ;; 5808dde4d4SEnji Cooper esac 594ddbe5acSMark Johnston 604ddbe5acSMark Johnston local makefile=$(mktemp) 614ddbe5acSMark Johnston cat <<__EOF__ > $makefile 624ddbe5acSMark Johnston# 634ddbe5acSMark Johnston# This Makefile was generated by \$srcdir${ORIGINDIR#${TOPDIR}}/genmakefiles.sh. 644ddbe5acSMark Johnston# 654ddbe5acSMark Johnston 66430f7286SEnji CooperPACKAGE= tests 67430f7286SEnji Cooper 68430f7286SEnji Cooper\${PACKAGE}FILES= \\ 694ddbe5acSMark Johnston$tfiles 704ddbe5acSMark Johnston 714ddbe5acSMark JohnstonTESTEXES= \\ 724ddbe5acSMark Johnston$texes 734ddbe5acSMark Johnston 744ddbe5acSMark JohnstonCFILES= \\ 754ddbe5acSMark Johnston$tcfiles 764ddbe5acSMark Johnston 774ddbe5acSMark Johnston$special 78b16fc49eSBryan Drewery.include "../../dtrace.test.mk" 794ddbe5acSMark Johnston__EOF__ 804ddbe5acSMark Johnston 812df0edc1SMark Johnston mv -f $makefile ${ORIGINDIR}/../${class}/${group}/Makefile 824ddbe5acSMark Johnston} 834ddbe5acSMark Johnston 844ddbe5acSMark Johnstonset -e 854ddbe5acSMark Johnston 864ddbe5acSMark Johnstonif [ $# -ne 0 ]; then 874ddbe5acSMark Johnston usage 884ddbe5acSMark Johnstonfi 894ddbe5acSMark Johnston 90c645060dSMark Johnstonexport LC_ALL=C 91c645060dSMark Johnston 924ddbe5acSMark Johnstonreadonly ORIGINDIR=$(realpath $(dirname $0)) 934ddbe5acSMark Johnstonreadonly TOPDIR=$(realpath ${ORIGINDIR}/../../../../..) 942df0edc1SMark Johnstonreadonly CONTRIB_TESTDIR=${TOPDIR}/cddl/contrib/opensolaris/cmd/dtrace/test/tst 954ddbe5acSMark Johnston 96*75ed05efSMariusz Zaborskifor class in common i386 amd64; do 972df0edc1SMark Johnston for group in $(find ${CONTRIB_TESTDIR}/$class -mindepth 1 -maxdepth 1 -type d); do 982df0edc1SMark Johnston genmakefile $class $(basename $group) 992df0edc1SMark Johnston done 1004ddbe5acSMark Johnstondone 101