RUNFLAGS = GHCFLAGS = -Wall -Widentities -Wno-unused-imports -odir obj -hidir obj -j4 ifneq ($(PROFILE),) RUNFLAGS += +RTS -xc GHCFLAGS += -prof -fprof-auto else GHCFLAGS += -O3 endif TARGET = main .PHONY: all clean run all: $(TARGET) liblang.o clean: rm -f $(TARGET) rm -rf obj run: $(TARGET) ./$(TARGET) $(RUNFLAGS) $(TARGET): $(wildcard *.hs) @mkdir -p obj ghc $(GHCFLAGS) Main.hs -o $@ liblang.o: liblang.asm yasm -w+all -fmacho64 $< -o $@