HS_SRC := $(wildcard *.hs) HS_EXE := $(HS_SRC:.hs=) OBJDIR := .obj .PHONY: all clean all: $(HS_EXE) clean: rm -rf $(HS_EXE) $(OBJDIR) $(HS_EXE): %: %.hs | $(OBJDIR) ghc -Wall -hidir $(OBJDIR) -odir $(OBJDIR) -o $@ $< $(OBJDIR): mkdir $(OBJDIR)