#!/bin/sh # 24.09.2006 Volker Quetschke # TMD is sometimes set incorrectly (issue 69821). : ${DMAKEPROG:=dmake} file1="mfile1.mk" file2="mfile2.mk" file3="test1/aaa" file4="test2/aaa" tmpfiles="$file1 $file2" trap '{ echo "trapped signal - removing temporary files" ; rm -rf $tmpfiles test1 test2; }' 1 2 3 15 # Remove files from prior failed run rm -rf $tmpfiles test1 test2 # Remember to quote variables in generated makefiles( $ -> \$ ). # Testcase 1 cat > $file1 <<EOT SHELL*:=/bin/sh SHELLFLAGS*:=-ce all : +@echo \$(TMD) EOT # Testcase 2 mkdir -p "$file3" mkdir -p "$file4" cat > $file2 <<EOT SHELL*:=/bin/sh SHELLFLAGS*:=-ce all ".SETDIR=../../$file3" : +@echo \$(TMD) EOT output1=`eval ${DMAKEPROG} -r -f $file1` result1=$? output2=`eval cd $file4 ; ../../${DMAKEPROG} -r -f ../../$file2` result2=$? if test "$output1" != "."; then echo "Test 1: Wrong result: $output1" result1=1 else echo " Subtest 1: OK" fi if test "$output2" != "../../test2/aaa"; then echo "Test 2: Wrong result: $output2" result2=1 else echo " Subtest 2: OK" fi if test $result1 -eq 0 -a $result2 -eq 0; then echo "Success - Cleaning up" rm -rf $tmpfiles test1 test2 exit result=0 else echo "Failure!" result=1 fi exit $result