profile :=
versions := v1 v2 v3 v4 v5 v6 v7
results := $(addsuffix -results,$(versions))
prof_results := $(addsuffix .prof,$(versions))
board := unsolvedboard.txt

ifeq ($(profile),)
GHCFLAGS=-O2
else
GHCFLAGS=-O2 -rtsopts -prof -auto-all -caf-all
endif

%: %.hs
	ghc $(GHCFLAGS) -o $@ $<

ifeq ($(profile),)
%-results: %
	time ./$< < $(board) 2>&1 | tee $@
else
%-results: %
	time ./$< +RTS -p < $(board) 2>&1 | tee $@
endif

.PHONY: benchmark clean all

benchmark: $(results)
clean:
	rm -f $(versions)
	rm -f $(results)
	rm -f $(prof_results)
all: $(versions)
