main  = "Hello.hs"
build = "build"
elf   = "$(build)/elf"

.PHONY: all
all: clean build run

.PHONY: clean
clean:
	@rm -rf $(build)

.PHONY: build
build:
	@mkdir $(build) &> /dev/null; \
		ghc -outputdir $(build) -o $(elf) $(main)

.PHONY: run
run:
	@./$(elf)