GHC = ghc GHCFLAGS = -O3 -Wall TARGET = lisp OBJDIR = obj .PHONY: all clean all: $(TARGET) clean: rm -f $(TARGET) rm -rf obj $(TARGET): $(wildcard *.hs) @mkdir -p $(OBJDIR) $(GHC) -o $@ $(GHCFLAGS) $^ -hidir $(OBJDIR) -odir $(OBJDIR)