| #!/bin/sh |
| |
| function test_ex { |
| make -C ex V=1 clean > ex.out 2>&1 |
| make -C ex V=1 >> ex.out 2>&1 |
| |
| if [ ! -x ./ex/ex ]; then |
| echo FAILED |
| exit -1 |
| fi |
| |
| make -C ex V=1 clean > /dev/null 2>&1 |
| rm -f ex.out |
| } |
| |
| function test_ex_suffix { |
| make -C ex V=1 clean > ex.out 2>&1 |
| |
| # use -rR to disable make's builtin rules |
| make -rR -C ex V=1 ex.o >> ex.out 2>&1 |
| make -rR -C ex V=1 ex.i >> ex.out 2>&1 |
| make -rR -C ex V=1 ex.s >> ex.out 2>&1 |
| |
| if [ -x ./ex/ex ]; then |
| echo FAILED |
| exit -1 |
| fi |
| |
| if [ ! -f ./ex/ex.o -o ! -f ./ex/ex.i -o ! -f ./ex/ex.s ]; then |
| echo FAILED |
| exit -1 |
| fi |
| |
| make -C ex V=1 clean > /dev/null 2>&1 |
| rm -f ex.out |
| } |
| |
| function test_ex_include { |
| make -C ex V=1 clean > ex.out 2>&1 |
| |
| # build with krava.h include |
| touch ex/krava.h |
| make -C ex V=1 CFLAGS=-DINCLUDE >> ex.out 2>&1 |
| |
| if [ ! -x ./ex/ex ]; then |
| echo FAILED |
| exit -1 |
| fi |
| |
| # build without the include |
| rm -f ex/krava.h ex/ex |
| make -C ex V=1 >> ex.out 2>&1 |
| |
| if [ ! -x ./ex/ex ]; then |
| echo FAILED |
| exit -1 |
| fi |
| |
| make -C ex V=1 clean > /dev/null 2>&1 |
| rm -f ex.out |
| } |
| |
| echo -n Testing.. |
| |
| test_ex |
| test_ex_suffix |
| test_ex_include |
| |
| echo OK |