# list of tests
put tests [@
	Tutor01_hello
	Tutor02_vars
	Tutor03_blocks
	Tutor04_if
	Tutor05_switch
	Tutor06_foreach
	Tutor07_sub
	Tutor08_uniq
	Tutor09_ui
	Tutor10_include_redir
	Tutor11_missing
	Tutor12_halt
	comment
	foreach
	if
	switch
	test
	then
	append
	order
	err_if_end
	err_if_else
	err_excess_end
	err_switch_end
	err_switch_nocond
	err_no_end
@]

uniq tests

put test_diffs tests
gsub test_diffs {[ \t\r\n]+} { }
gsub test_diffs {\\>} {.diff}
# TODO: replace this with wrap
sub test_diffs {^ *} {}
sub test_diffs { *$} {}

print [@### PLEASE DO NOT EDIT THIS FILE, it has been generated from Makefile.in. ###

TESTER=../tester

all: @test_diffs@

# Explicit test rules
@]

foreach test in tests
print [@
@test@.out: @test@.gasm $(TESTER) Makefile
	$(TESTER) < @test@.gasm > @test@.out 2>&1

@test@.diff: @test@.ref @test@.out
	diff -u @test@.ref @test@.out
@]
end
