X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=makefile;h=7358589c16122ae52257e33e6da76497583be061;hb=02a793ab4325e5d04eb3ae3450aa33d01b4b4d1c;hp=8605a8920e23cb967fa940229ba8301e32623328;hpb=e47dd37f1757c8ada0c1e25f41af5fa83952c91f;p=hath.git diff --git a/makefile b/makefile index 8605a89..7358589 100644 --- a/makefile +++ b/makefile @@ -1,27 +1,50 @@ -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 = hath +BIN = dist/build/$(PN)/$(PN) +SRCS = $(shell find src/ -type f -name '*.hs') -BIN=hath -.PHONY : test +.PHONY : dist hlint -all: $(BIN) +$(BIN): $(PN).cabal $(SRCS) + runghc Setup.hs configure --user + runghc Setup.hs build -$(BIN): src/*.hs - ghc -O2 $(GHC_WARNINGS) --make -o bin/${BIN} src/*.hs -profile: src/*.hs - ghc -O2 $(GHC_WARNINGS) -prof -auto-all --make -o bin/$(BIN) src/*.hs +doc: $(PN).cabal $(SRCS) + runghc Setup.hs hscolour --all + runghc Setup.hs haddock --all\ + --hyperlink-source \ + --haddock-options="--ignore-all-exports" + + +# +# Tests +# +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 +# clean: - rm -f bin/$(BIN) - rm -f src/*.hi - rm -f src/*.o - rm -f *.prof + runghc Setup.hs clean + +dist: + runghc Setup.hs configure + TAR_OPTIONS="--format=ustar" runghc Setup.hs sdist -test: - runghc -i"src" test/TestSuite.hs +hlint: + hlint --ignore="Use camelCase" \ + --ignore="Redundant bracket" \ + --color \ + src