CC=gcc
LD=gcc
CFLAGS=-O2 -Wall -W -Wno-parentheses -Wundef -Wredundant-decls -std=gnu99

S=ministry
O=hash gen sort tiso_lin tiso_qs

all: $(S) $(O)

%: %.pas
	fpc $<

generate: gen
	@./gen

tests: generate $(S)
	@for a in [1-9]*.in ; do b=`basename $$a .in` ; echo "### $$b ###" ; ./$(S) <$$a >$$b.out ; done

check: $(S)
	@for a in *.in ; do b=`basename $$a .in` ; printf "### %-4s: " $$b ; /usr/bin/time -f ' %E (%U)' ./$(S) <$$a >$$b.new && diff -u $$b.new $$b.out || echo FAILED ; done

clean:
	rm -f `find . -name "*~" -or -name "*.[oa]" -or -name "\#*\#" -or -name TAGS -or -name core -or -name .depend -or -name .#*`
	rm -f $(S) $(O)
	rm -f *.new

cleanall: clean
	rm -f [1-9]*.{in,out}
