1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
| #!/bin/sh
darcsroot()
{
d=`pwd`
while ! test -d _darcs; do
cd ..
done
pwd
cd "$d"
}
showfiles()
{
if ! darcs show files > /dev/null 2>&1; then
ls *.$1 2> /dev/null | sed 's/\(.*\)/ \1 \\/g'
else
ROOT=`darcsroot`
DIR=`echo $PWD | sed "s|$ROOT|.|"`
darcs show files | grep '\'$DIR'/[^/ ]*\.'$1'$' | \
sed -e 's|'$DIR'/\(.*\)| \1 \\|g'
fi
}
showpages()
{
if ! darcs show files > /dev/null 2>&1; then
files=`ls *$1 2> /dev/null`
else
ROOT=`darcsroot`
DIR=`echo $PWD | sed "s|$ROOT|.|"`
files=`darcs show files | grep '\'$DIR'/[^/ ]*'$1'$' | sed "s|$DIR/||g"`
fi
for f in $files; do
case "$f" in
*.page) echo "$f" ;;
*.[chm])
test -x $BASILISK/darcsit/pagemagic && \
$BASILISK/darcsit/pagemagic "$f" && echo "$f.page"
;;
esac
done | sed 's/\(.*\)/ \1 \\/g'
}
# join lines delimited by \\n characters
singleline()
{
sed -e ':a
N
$!ba
s/\\\n//g
'
}
echo "updating Makefile.tests"
(
echo "# Automatically generated using 'make Makefile.tests'"
echo "# DO NOT EDIT, edit 'Makefile' instead"
echo "ALLTESTS = \\"
(showfiles c
grep '^[a-zA-Z_0-9-]*\.*tst[ ]*:' Makefile | \
sed -n 's/\(^[a-zA-Z_0-9-]*\)\.*tst[ ]*:.*/ \1.c \\/p'
) | sort | uniq
echo ""
echo "TESTS = \\"
singleline < Makefile | \
grep '^check:' | tr ' ' '\n' | \
sed -n 's/[ ]*\([a-zA-Z_0-9-]*\..tst\)[ ]*/\1/p' | \
sed 's/\(.*\)\..tst/ \1.c \\/g' | \
sed 's/.*$(wildcard//g'
singleline < Makefile | \
grep -v '^check:' | grep '^[^.]*:.*' | tr ' ' '\n' | \
sed -n 's/[ ]*\([a-zA-Z_0-9-]*\.tst\)[ ]*/\1/p' | \
sed 's/\(.*\)\.tst/ \1.c \\/g'
echo ""
echo "SPECIAL_TESTS = \\"
sed -n 's/.*:[ ]*\([a-zA-Z_0-9-]*\.ctst\)/\1/p' Makefile | \
sort | uniq | sed 's/\(.*\)/ \1 \\/g'
echo ""
echo "ALLPAGES = \\"
showpages ''
echo ""
) > Makefile.tests
rm -f Makefile.deps
|