# There's only one '$' in the awk script, but we have to double-money # it for make. PN = $(shell grep 'name:' *.cabal | awk '{ print $$2 }') BIN = dist/build/$(PN)/$(PN) DOCTESTS_BIN = dist/build/doctests/doctests SRCS = $(shell find src/ -name '*.hs') .PHONY : test publish_doc doc dist hlint $(BIN): $(SRCS) runghc Setup.hs clean runghc Setup.hs configure --user --flags=${FLAGS} runghc Setup.hs build $(DOCTESTS_BIN): $(SRCS) test/Doctests.hs runghc Setup.hs configure --user --flags=${FLAGS} --enable-tests runghc Setup.hs build profile: $(SRCS) runghc Setup.hs configure --user --enable-executable-profiling runghc Setup.hs build hpc: $(SRCS) FLAGS="hpc" make clean: runghc Setup.hs clean rm -f dist/ rm -f *.prof rm -rf .hpc test: $(BIN) $(DOCTESTS_BIN) runghc Setup.hs test dist: runghc Setup.hs configure runghc Setup.hs sdist doc: $(SRCS) runghc Setup.hs configure --user --flags=${FLAGS} runghc Setup.hs hscolour --executables runghc Setup.hs haddock --internal \ --executables \ --hyperlink-source hlint: hlint --ignore="Use camelCase" \ --ignore="Redundant bracket" \ --color \ src