X-Git-Url: http://gitweb.michael.orlitzky.com/?p=spline3.git;a=blobdiff_plain;f=makefile;h=15f2a758d1b783816b54fea31ccdc3a2a02ae53d;hp=850626fdc4261e8c46133b28d1c1fd3dd07baa50;hb=6c0620002bd5c088ce55a514e9c9ccc19e1cfbf9;hpb=6b32d57bf533a237b07fc77a2c7a6dae64566650 diff --git a/makefile b/makefile index 850626f..15f2a75 100644 --- a/makefile +++ b/makefile @@ -1,62 +1,73 @@ +PN = spline3 +BIN = dist/build/$(PN)/$(PN) +SRCS := $(shell find src/ -type f -name '*.hs') + BIN = dist/build/spline3/spline3 DOCTESTS_BIN = dist/build/doctests/doctests TESTSUITE_BIN = dist/build/testsuite/testsuite -.PHONY : test publish_doc doc dist hlint +.PHONY : test doc dist hlint -$(BIN): src/*.hs - runghc Setup.hs clean - runghc Setup.hs configure --user --flags=${FLAGS} +$(BIN): $(PN).cabal $(SRCS) + runghc Setup.hs configure \ + --user \ + --prefix=/ \ + --flags=${FLAGS} runghc Setup.hs build -$(DOCTESTS_BIN): src/*.hs test/Doctests.hs - runghc Setup.hs configure --user --flags=${FLAGS} --enable-tests +$(DOCTESTS_BIN): $(SRCS) test/Doctests.hs + runghc Setup.hs configure \ + --user \ + --prefix=/ \ + --flags=${FLAGS} \ + --enable-tests runghc Setup.hs build -$(TESTSUITE_BIN): src/*.hs test/TestSuite.hs - runghc Setup.hs configure --user --flags=${FLAGS} --enable-tests +$(TESTSUITE_BIN): $(SRCS) test/TestSuite.hs + runghc Setup.hs configure \ + --user \ + --prefix=/ \ + --flags=${FLAGS} \ + --enable-tests runghc Setup.hs build -llvm: src/*.hs +llvm: $(PN).cabal $(SRCS) FLAGS="llvm" make -profile: src/*.hs - runghc Setup.hs configure --user --enable-executable-profiling +profile: $(SRCS) + runghc Setup.hs configure \ + --user \ + --prefix=/ \ + --enable-executable-profiling runghc Setup.hs build -hpc: src/*.hs +hpc: $(PN).cabal $(SRCS) FLAGS="hpc" make clean: runghc Setup.hs clean - rm -f dist/ + rm -rf dist/ rm -f *.prof - rm -rf .hpc + rm -f .hpc -test: $(BIN) $(DOCTESTS_BIN) $(TESTSUITE_BIN) +test: $(PN).cabal $(TESTSUITE_BIN) $(DOCTESTS_BIN) $(BIN) runghc Setup.hs test dist: - runghc Setup.hs configure - runghc Setup.hs sdist - -# Neither 'haddock' nor 'hscolour' seem to work properly. -doc: src/*.hs - runghc Setup.hs configure --user --flags=${FLAGS} - runghc Setup.hs hscolour --executables - runghc Setup.hs haddock --internal \ - --executables \ - --hyperlink-source - -SSH_USER=root@michael.orlitzky.com -PUBLIC_DOCDIR=/var/www/orlitzky.com/michael/public/spline3/ -publish_doc: doc - rsync -avz -e ssh \ - ./dist/doc/html/spline3/spline3 \ - $(SSH_USER):$(PUBLIC_DOCDIR) + runghc Setup.hs configure --prefix=/ + TAR_OPTIONS="--format=ustar" runghc Setup.hs sdist + +doc: dist/doc + +dist/doc: $(PN).cabal $(SRCS) + runghc Setup.hs configure --user --prefix=/ --flags=${FLAGS} + runghc Setup.hs hscolour --all + runghc Setup.hs haddock --all \ + --hyperlink-source \ + --haddock-options="--ignore-all-exports" hlint: hlint --ignore="Use camelCase" \ - --ignore="Redundant bracket" \ - --color \ - src + --ignore="Redundant bracket" \ + --color \ + src