ALL_TESTS = \
append.out async.out case.out cd.out cmdinfo.out concat.out \
concatv.out concat_extra.out cregression.out dcall.out dstring.out \
ensemble.out env.out error.out eval.out eval_extra.out exec.out expr_1.out \
expr_2.out expr_var_1.out expr_var_2.out expr_var_3.out file.out \
for.out for_extra.out format.out get.out glob.out history.out if.out \
if_extra.out incr.out info.out join.out join_extra.out joinv.out \
lindex.out lindex_extra.out lindexv.out link.out linsert.out \
linsert_extra.out linsertv.out list.out list_extra.out \
list_extra0.out  listv.out \
listv_extra0.out llength.out llength_extra.out llengthv.out lrange.out \
lrange_extra.out lrangev.out lreplace.out lreplace_extra.out \
lreplace_extra.out lreplacev.out lsearch.out lsearch_extra.out lsearchv.out \
lsort.out lsort_extra.out lsortv.out misc.out mkindex.out \
namespace.out open.out parse.out parse_extra0.out pid.out \
proc.out regexp.out regexp_extra.out rename.out scan.out set.out \
set_extra.out source.out split.out string.out subst.out switch.out \
switch_extra.out trace.out unknown.out uplevel.out \
upvar.out while.out

TCLC = tcl_test_shell
TCLC_DIRPATH  =
TCLC_SWITCHES = -shell compile_file -savec -macro test.m -shellargs \
-alwaysexit

.SUFFIXES:
.SUFFIXES: .out .test

.test.out:
	rm -f test_results $*.results
	$(TCLC) $(TCLC_SWITCHES) $(TCLC_DIRPATH) -o $@ $<
	$@
	./run $*
	mv -f test_results $*.results
	rm -f lib$@.a

all:: clean tests

tests: $(ALL_TESTS)
	rm -f cur_tests_run
	mv -f tests_run cur_tests_run
	
clean:
	rm -f *.out *.c *.o *.a *~ *.results tests_run core temp \
tclc_Makefile tcl_test test2 test3 cur_tests_run logfile emlog

list_extra0.test : mklist.extra0.tcl
	tclsh mklist.extra0.tcl

listv_extra0.test : mklistv.extra0.tcl
	tclsh mklistv.extra0.tcl

parse_extra0.test : mkparse.extra0.tcl
	tclsh mkparse.extra0.tcl
