X-Git-Url: http://gitweb.michael.orlitzky.com/?p=dead%2Fhalcyon.git;a=blobdiff_plain;f=makefile;h=db0ec3363a675c660ffc12671d1ef9f7464b7a80;hp=da8807630f2643dfeadcebd923d05ed5d63b6a45;hb=20c7ebd7b03a4f5057dcb9fa3482bd6cb47e0fe4;hpb=17dd116706c4a971e1f5c68daa1656af5eff5cd2 diff --git a/makefile b/makefile index da88076..db0ec33 100644 --- a/makefile +++ b/makefile @@ -1,29 +1,52 @@ -GHC_WARNINGS := -Wall -GHC_WARNINGS += -fwarn-hi-shadowing -GHC_WARNINGS += -fwarn-missing-signatures -GHC_WARNINGS += -fwarn-name-shadowing -GHC_WARNINGS += -fwarn-orphans -GHC_WARNINGS += -fwarn-type-defaults +PN = halcyon +BIN = dist/build/$(PN)/$(PN) +SRCS := $(shell find src/ -type f -name '*.hs') -BIN=bin/twat +.PHONY : dist hlint -.PHONY : test +$(BIN): $(PN).cabal $(SRCS) + runghc Setup.hs configure --user --prefix=/ + runghc Setup.hs build -all: $(BIN) +doc: $(PN).cabal $(SRCS) + runghc Setup.hs configure --user --prefix=/ + runghc Setup.hs hscolour --all + runghc Setup.hs haddock --all \ + --hyperlink-source \ + --haddock-options="--ignore-all-exports" -$(BIN): src/Twitter/*.hs src/*.hs - ghc -O2 $(GHC_WARNINGS) --make -o $(BIN) src/Twitter/*.hs src/*.hs -profile: src/Twitter/*.hs src/*.hs - ghc -O2 $(GHC_WARNINGS) -prof -auto-all --make -o $(BIN) src/Twitter/*.hs src/*.hs +# +# Testing. +# + +TESTSUITE_BIN = dist/build/testsuite/testsuite +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 + +test: $(BIN) $(TESTSUITE_BIN) + runghc Setup.hs test + + +# +# Misc. +# + +dist: + runghc Setup.hs configure --prefix=/ + TAR_OPTIONS="--format=ustar" runghc Setup.hs sdist + +hlint: + hlint --ignore="Use camelCase" \ + --ignore="Redundant bracket" \ + --color \ + src clean: - rm -f $(BIN) - rm -f src/*.hi - rm -f src/Twitter/*.hi - rm -f src/*.o - rm -f src/Twitter/*.o - rm -f *.prof - -test: - runghc -i"src" test/TestSuite.hs + runghc Setup.hs clean + find ./ -name '*.prof' -delete + find ./ -name '*.o' -delete + find ./ -name '*.hi' -delete