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