X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=Lucu.git;a=blobdiff_plain;f=cabal-package.mk;h=cc534f4648d16242d8d4f33147d30acee9b61f7d;hp=585fc30b5684cf9a145d8f4786e44184551f7605;hb=18192e5ea2b621a551db27aa39e221a05696e2b3;hpb=8bdd1da1ee1f3e453dbe2bce246618e12e26d30c diff --git a/cabal-package.mk b/cabal-package.mk index 585fc30..cc534f4 100644 --- a/cabal-package.mk +++ b/cabal-package.mk @@ -18,9 +18,11 @@ HPC ?= hpc DITZ ?= ditz CONFIGURE_ARGS ?= --disable-optimization +HLINT_OPTS ?= --cross --report=dist/report.html SETUP_FILE := $(wildcard Setup.*hs) CABAL_FILE := $(wildcard *.cabal) +PKG_NAME := $(CABAL_FILE:.cabal=) ifeq ($(shell ls configure.ac 2>/dev/null),configure.ac) AUTOCONF_AC_FILE := configure.ac @@ -98,6 +100,13 @@ test: build ditz: $(DITZ) html dist/ditz +ChangeLog: + rm -f $@ + $(DITZ) releases | awk '{print $$1}' | sort --reverse | while read i; do \ + $(DITZ) changelog $$i >> $@; \ + done + head $@ + fixme: @$(FIND) . \ \( -name 'dist' -or -name '.git' -or -name '_darcs' \) -prune \ @@ -105,13 +114,33 @@ fixme: \( -name '*.c' -or -name '*.h' -or \ -name '*.hs' -or -name '*.lhs' -or \ -name '*.hsc' -or -name '*.cabal' \) \ - -exec egrep -i '(fixme|thinkme)' {} \+ \ + -exec egrep 'FIXME|THINKME|TODO' {} \+ \ || echo 'No FIXME or THINKME found.' lint: - $(HLINT) . --report -# $(HLINT) . --report \ -# --ignore="Use string literal" \ -# --ignore="Use concatMap" + $(HLINT) . $(HLINT_OPTS) + +push: push-repo push-ditz push-doc + +push-repo: + if [ -d "_darcs" ]; then \ + darcs push; \ + elif [ -d ".git" ]; then \ + git push --all && git push --tags; \ + fi + +push-ditz: ditz + rsync -av --delete \ + dist/ditz/ \ + www@nem.cielonegro.org:static.cielonegro.org/htdocs/ditz/$(PKG_NAME) + +push-doc: doc + if [ -d "dist/doc" ]; then \ + rsync -av --delete \ + dist/doc/html/$(PKG_NAME)/ \ + www@nem.cielonegro.org:static.cielonegro.org/htdocs/doc/$(PKG_NAME); \ + fi -.PHONY: build build-hook setup-config setup-config-hook run clean clean-hook install doc sdist test lint +.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