BIN = main hs_files = $(wildcard *.hs) .PHONY: all clean remake all: $(BIN) clean: rm -f *.hi *.o $(BIN) remake: clean all $(BIN): $(hs_files) ghc -O3 -o $(BIN) $^