X-Git-Url: http://gitweb.michael.orlitzky.com/?p=dead%2Fhalcyon.git;a=blobdiff_plain;f=makefile;h=db0ec3363a675c660ffc12671d1ef9f7464b7a80;hp=1c36e613b9738757f77047a6e97d982378c4f8c2;hb=20c7ebd7b03a4f5057dcb9fa3482bd6cb47e0fe4;hpb=ca8ae43507a63fff607ae69c06fbc1a90109ecbe diff --git a/makefile b/makefile index 1c36e61..db0ec33 100644 --- a/makefile +++ b/makefile @@ -1,39 +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 : doc 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 - -doc: - haddock -i /usr/share/doc/haxml-1.13.2/html/HaXml.haddock \ - -i /usr/share/doc/ghc-6.8.2/libraries/base/base.haddock \ - -i /usr/share/doc/curl-1.3.5/html/curl.haddock \ - -i /usr/share/doc/regex-compat-0.71.0.1/html/regex-compat.haddock \ - -i /usr/share/doc/ghc-6.8.2/libraries/process/process.haddock \ - -h \ - -o doc/ \ - src/*.hs src/Twitter/*.hs + runghc Setup.hs clean + find ./ -name '*.prof' -delete + find ./ -name '*.o' -delete + find ./ -name '*.hi' -delete