]> gitweb @ CieloNegro.org - Lucu.git/commitdiff
update cabal-package.mk
authorPHO <pho@cielonegro.org>
Wed, 16 Nov 2011 06:17:42 +0000 (15:17 +0900)
committerPHO <pho@cielonegro.org>
Wed, 16 Nov 2011 06:17:42 +0000 (15:17 +0900)
GNUmakefile
Lucu.cabal
cabal-package.mk

index 4bc0a42bc64f38a7b066068caabd5ca930ba2cae..53a725153accef78955b56951450dd984cc0546d 100644 (file)
@@ -2,5 +2,6 @@ RUN_COMMAND = $(MAKE) -C examples run
 
 #CONFIGURE_ARGS = -O
 CONFIGURE_ARGS = -O -fssl
+#CONFIGURE_ARGS = -O -fssl --enable-executable-profiling
 
 include cabal-package.mk
index bdc0b719355d5be829b04d74080bb2912c36a5f7..01da991f9af972796de59d8586d4ae8548d0cd49 100644 (file)
@@ -143,4 +143,4 @@ Executable lucu-implant-file
         zlib == 0.5.*
 
     ghc-options:
-        -Wall
+        -Wall -rtsopts
index 9e8e549b72ef493e9fc6dcb26c0a223c67b0c4b1..bec1d1419da2a391f41db8acf50c6422ae8ed693 100644 (file)
@@ -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