]> gitweb @ CieloNegro.org - Lucu.git/blobdiff - cabal-package.mk
.gitignore
[Lucu.git] / cabal-package.mk
index ca291ff93111587ba2f4d30245a97c94713e84a3..585fc30b5684cf9a145d8f4786e44184551f7605 100644 (file)
@@ -13,6 +13,9 @@ FIND     ?= find
 RM_RF    ?= rm -rf
 SUDO     ?= sudo
 AUTOCONF ?= autoconf
+HLINT    ?= hlint
+HPC      ?= hpc
+DITZ     ?= ditz
 
 CONFIGURE_ARGS ?= --disable-optimization
 
@@ -39,6 +42,7 @@ all: build
 
 build: setup-config build-hook
        ./Setup build
+       $(RM_RF) *.tix
 
 build-hook:
 
@@ -69,7 +73,7 @@ Setup: $(SETUP_FILE)
        $(GHC) --make Setup
 
 clean: clean-hook
-       $(RM_RF) dist Setup *.o *.hi .setup-config *.buildinfo
+       $(RM_RF) dist Setup *.o *.hi .setup-config *.buildinfo *.tix .hpc
        $(FIND) . -name '*~' -exec rm -f {} \;
 
 clean-hook:
@@ -84,6 +88,30 @@ sdist: setup-config
        ./Setup sdist
 
 test: build
+       $(RM_RF) dist/test
        ./Setup test
-
-.PHONY: build build-hook setup-config setup-config-hook run clean clean-hook install doc sdist test
+       if ls *.tix >/dev/null 2>&1; then \
+               $(HPC) sum --output="merged.tix" --union --exclude=Main *.tix; \
+               $(HPC) markup --destdir="dist/hpc" --fun-entry-count "merged.tix"; \
+       fi
+
+ditz:
+       $(DITZ) html dist/ditz
+
+fixme:
+       @$(FIND) . \
+               \( -name 'dist' -or -name '.git' -or -name '_darcs' \) -prune \
+               -or \
+               \( -name '*.c'   -or -name '*.h'   -or \
+                  -name '*.hs'  -or -name '*.lhs' -or \
+                  -name '*.hsc' -or -name '*.cabal' \) \
+               -exec egrep -i '(fixme|thinkme)' {} \+ \
+               || echo 'No FIXME or THINKME found.'
+
+lint:
+       $(HLINT) . --report
+#      $(HLINT) . --report \
+#              --ignore="Use string literal" \
+#              --ignore="Use concatMap"
+
+.PHONY: build build-hook setup-config setup-config-hook run clean clean-hook install doc sdist test lint