EXE:=Test DEP:=ArbitraryMove AUX:=$(addsuffix .o, $(EXE) $(DEP))\ $(addsuffix .hi, $(EXE) $(DEP))\ $(addsuffix .dyn_o, $(EXE) $(DEP))\ $(addsuffix .dyn_hi,$(EXE) $(DEP)) SRC:=$(addsuffix .hs,$(DEP)) GHC:=ghc GHCFLAGS:=-O -main-is Test.main .PHONY=all data run clean all: $(EXE) dataset.pgn: for i in $$(seq 1000 1020); do wget -q http://www.theweekinchess.com/zips/twic$${i}g.zip; unzip -q twic$${i}g.zip; rm twic$${i}g.zip; done cat twic*.pgn > $@ $(RM) twic*.pgn run: $(EXE) ./$(EXE) < dataset.pgn $(EXE): %: %.hs $(SRC) $(GHC) $(GHCFLAGS) $< -o $@ clean: $(RM) $(EXE) $(AUX)