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
|
#!/bin/sh
# 16.07.2006 Volker Quetschke
# Check that dmake warns if a previously unset macro (i.e. it is
# assumed to be empty) is used and later set to a different value.
# (issue 67166)
: ${DMAKEPROG:=dmake}
file1="mfile1.mk"
tmpfiles="$file1"
trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles ; }' 1 2 3 15
# Remove files from prior failed run
rm -rf $tmpfiles
# Remember to quote variables in generated makefiles( $ -> \$ ).
# Check that we issue a warning.
cat > $file1 <<EOT
SHELL*:=/bin/sh
SHELLFLAGS*:=-ce
all: \$(NEWDEP)
@+echo all
NEWDEP=my_dependency
EOT
output1=`eval ${DMAKEPROG} -rf $file1 2>&1 `
result1=$?
if echo $output1 | grep 'Warning: -- Macro .* redefined after use' > /dev/null 2>&1 ; then
dummy=1
# OK
else
echo "Test 1: Wrong result: $output1"
echo
result1=1
fi
if test $result1 -eq 0 ; then
echo "Success - Cleaning up"
rm -rf $tmpfiles
result=0
else
echo "Failure! dmake failed to issue a warning."
result=1
fi
exit $result
|