TESTS1 := Simple One String NoImport TESTS2 := Standalone Pure PureString NoWarn JustShow GHC := ghc -Wall -Werror .PHONY: all build dist install clean clean-tests test doc all: build build: dist/setup-config cabal build dist: test cabal sdist install: build cabal install clean: clean-tests cabal clean clean-tests: rm -f Test/*.{hi,o} $(foreach t,$(TESTS1) $(TESTS2),rm -f Test/$(t)${\n}) define \n endef test: install clean-tests $(foreach t,$(TESTS1),cd Test && $(GHC) -F -pgmF interpol $(t)${\n}) $(foreach t,$(TESTS2),cd Test && $(GHC) $(t)${\n}) $(foreach t,$(TESTS1) $(TESTS2),cd Test && [ "`./$(t)`" = "I have 23 apples." ]${\n}) runhaskell Test/Unit.hs dist/setup-config: interpol.cabal cabal configure doc: build cabal haddock