| #!/bin/sh | |
| # SPDX-License-Identifier: GPL-2.0 | |
| 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 |