|  | #!/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 |