PN = mailbox-count BIN = dist/build/$(PN)/$(PN) SRCS = $(shell find src/ -type f -name '*.hs') HCFLAGS += -Weverything \ -Wno-implicit-prelude \ -Wno-safe \ -Wno-unsafe \ -Wno-all-missed-specialisations \ -Wno-prepositive-qualified-module \ -Wno-missing-safe-haskell-mode \ -Wno-missing-deriving-strategies \ -rtsopts \ -threaded .PHONY : dist hlint $(BIN): $(PN).cabal $(SRCS) runghc Setup.hs configure --user runghc Setup.hs build --ghc-options="${HCFLAGS}" doc: $(PN).cabal $(SRCS) runghc Setup.hs haddock --all \ --hyperlink-source \ --haddock-options="--ignore-all-exports" # # Tests # TESTSUITE_BIN = dist/build/testsuite/testsuite DOCTESTS_BIN = dist/build/doctests/doctests TEST_SRCS := $(shell find test/ -type f -name '*.hs') $(TESTSUITE_BIN): $(PN).cabal $(SRCS) $(TEST_SRCS) runghc Setup.hs configure --user --enable-tests --prefix=/ runghc Setup.hs build --ghc-options="${HCFLAGS}" $(DOCTESTS_BIN): $(PN).cabal $(SRCS) $(TEST_SRCS) runghc Setup.hs configure --user --enable-tests runghc Setup.hs build --ghc-options="${HCFLAGS}" check: $(BIN) $(TESTSUITE_BIN) $(DOCTESTS_BIN) runghc Setup.hs test # # Misc # dist: runghc Setup.hs configure TAR_OPTIONS="--format=ustar" runghc Setup.hs sdist hlint: hlint --ignore="Use camelCase" \ --ignore="Redundant bracket" \ --color \ src clean: runghc Setup.hs clean find ./ -type f -name '*.prof' -delete find ./ -type f -name '*.o' -delete find ./ -type f -name '*.hi' -delete