X-Git-Url: http://gitweb.michael.orlitzky.com/?p=haeredes.git;a=blobdiff_plain;f=makefile;h=f67f8a5624ef210a2f3dab64c9505066988e373d;hp=35241bece52f5ac5e0dbe049d2a17c7108cbe3f6;hb=c8a0bdfdb6d66f4c1fbe3bd724f5e67a35eaf5e2;hpb=b83a4dc5c3471d485147738e0f78e18352243377 diff --git a/makefile b/makefile index 35241be..f67f8a5 100644 --- a/makefile +++ b/makefile @@ -1,35 +1,46 @@ -BIN = dist/build/haeredes/haeredes -TESTSUITE_BIN = dist/build/testsuite/testsuite -DOCTESTS_BIN = dist/build/doctests/doctests +PN = haeredes +BIN = dist/build/$(PN)/$(PN) +SRCS = $(shell find src/ -type f -name '*.hs') -.PHONY : dist doc test +.PHONY : dist hlint -$(BIN): src/*.hs - runghc Setup.hs clean +$(BIN): $(PN).cabal $(SRCS) runghc Setup.hs configure --user runghc Setup.hs build -$(TESTSUITE_BIN): src/*.hs test/TestSuite.hs - runghc Setup.hs configure --user --enable-tests +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 -$(DOCTESTS_BIN): src/*.hs test/Doctests.hs + +$(DOCTESTS_BIN): $(PN).cabal $(SRCS) $(TEST_SRCS) runghc Setup.hs configure --user --enable-tests runghc Setup.hs build -clean: - runghc Setup.hs clean - rm -f src/*.hi - rm -f src/*.o - -test: $(BIN) $(TESTSUITE_BIN) $(DOCTESTS_BIN) +check: $(BIN) $(TESTSUITE_BIN) $(DOCTESTS_BIN) runghc Setup.hs test -doc: - runghc Setup.hs hscolour --executables - runghc Setup.hs haddock --internal \ - --executables \ - --hyperlink-source + +# +# Misc +# + +dist: + runghc Setup.hs configure + TAR_OPTIONS="--format=ustar" runghc Setup.hs sdist hlint: hlint --ignore="Use camelCase" \ @@ -37,6 +48,8 @@ hlint: --color \ src -dist: - runghc Setup.hs configure - runghc Setup.hs sdist +clean: + runghc Setup.hs clean + find ./ -name '*.prof' -delete + find ./ -name '*.o' -delete + find ./ -name '*.hi' -delete