X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=Lucu.git;a=blobdiff_plain;f=cabal-package.mk;h=bec1d1419da2a391f41db8acf50c6422ae8ed693;hp=9e8e549b72ef493e9fc6dcb26c0a223c67b0c4b1;hb=b22e702f8161447a460847c6e6c97104c150534f;hpb=cc074d0ce3f7df2544bc2baddca4e7730ecdf0a0 diff --git a/cabal-package.mk b/cabal-package.mk index 9e8e549..bec1d14 100644 --- a/cabal-package.mk +++ b/cabal-package.mk @@ -19,7 +19,10 @@ DITZ ?= ditz CONFIGURE_ARGS ?= --disable-optimization HADDOCK_OPTS ?= --hyperlink-source -HLINT_OPTS ?= --cross --report=dist/report.html +HLINT_OPTS ?= \ + --hint=Default --hint=Dollar --hint=Generalise \ + --cross \ + --report=dist/report.html SETUP_FILE := $(wildcard Setup.*hs) CABAL_FILE := $(wildcard *.cabal) @@ -75,6 +78,10 @@ $(BUILDINFO_FILE): $(BUILDINFO_IN_FILE) configure Setup: $(SETUP_FILE) $(GHC) --make Setup +reconfigure: + rm -f dist/setup-config + $(MAKE) setup-config + clean: clean-hook $(RM_RF) dist Setup *.o *.hi .setup-config *.buildinfo *.tix .hpc $(FIND) . -name '*~' -exec rm -f {} \; @@ -98,16 +105,7 @@ test: build $(HPC) markup --destdir="dist/hpc" --fun-entry-count "merged.tix"; \ fi -ditz: - $(DITZ) html dist/ditz - -ChangeLog: - rm -f $@ - $(DITZ) releases | awk '{print $$1}' | sort --reverse | while read i; do \ - $(DITZ) changelog $$i >> $@; \ - done - head $@ - +# -- Find FIXME Tags ---------------------------------------------------------- fixme: @$(FIND) . \ \( -name 'dist' -or -name '.git' -or -name '_darcs' \) -prune \ @@ -116,11 +114,29 @@ fixme: -name '*.hs' -or -name '*.lhs' -or \ -name '*.hsc' -or -name '*.cabal' \) \ -exec egrep 'FIXME|THINKME|TODO' {} \+ \ - || echo 'No FIXME or THINKME found.' + || echo 'No FIXME, THINKME, nor TODO found.' +# -- HLint -------------------------------------------------------------------- +HLINT_TARGETS ?= $$(find -E . -type d -name dist -prune -o -regex '.*\.(hsc?|lhs)' -print) lint: - $(HLINT) . $(HLINT_OPTS) + $(HLINT) $(HLINT_TARGETS) $(HLINT_OPTS) + +# -- Ditz the Distributed Issue Tracker --------------------------------------- +ifeq (,$(wildcard .ditz-config)) +ditz: +else +ditz: + $(DITZ) html dist/ditz +ChangeLog: + rm -f $@ + $(DITZ) releases | awk '{print $$1}' | sort --reverse | while read i; do \ + $(DITZ) changelog $$i >> $@; \ + done + head $@ +endif + +# -- Pushing to remote hosts -------------------------------------------------- push: push-repo push-ditz push-doc push-repo: @@ -131,9 +147,11 @@ push-repo: fi push-ditz: ditz - rsync -av --delete \ - dist/ditz/ \ - www@nem.cielonegro.org:static.cielonegro.org/htdocs/ditz/$(PKG_NAME) + if [ -d "dist/ditz" ]; then \ + rsync -av --delete \ + dist/ditz/ \ + www@nem.cielonegro.org:static.cielonegro.org/htdocs/ditz/$(PKG_NAME); \ + fi push-doc: doc if [ -d "dist/doc" ]; then \ @@ -142,6 +160,7 @@ push-doc: doc www@nem.cielonegro.org:static.cielonegro.org/htdocs/doc/$(PKG_NAME); \ fi +# -- Phony Targets ------------------------------------------------------------ .PHONY: build build-hook setup-config setup-config-hook run clean clean-hook \ install doc sdist test lint push push-repo push-ditz push-doc \ ChangeLog