fix source so that '-Wformat -Werror=format-security' doesn't stop us from compiling
[citadel.git] / citadel / debian / rules
index 6779c8f512e592f4acd54e0959b1cb67ed3d1ded..9217bc55a3f3822680cafb65be6340f22748450b 100755 (executable)
@@ -11,24 +11,37 @@ export DH_OPTIONS
 
 DEB_DESTDIR = $(CURDIR)/debian/tmp
 
-CFLAGS = -Wall -g
-
+CFLAGS = -Wall -g -Werror=format-security 
 
+COMPILER=
 EXTRA_ARGS=
 PROFILE_ARGS=
-#to enable debugging: export DEB_BUILD_OPTIONS="debug profiling threadoff rss"
+#to enable debugging: export DEB_BUILD_OPTIONS="debug profiling threadoff rss gcov clang"
+ifneq (,$(findstring clang,$(DEB_BUILD_OPTIONS)))
+        COMPILER="clang" 
+endif
 ifneq (,$(findstring profiling,$(DEB_BUILD_OPTIONS)))
        PROFILE_ARGS= --with-gprof
 endif
+
 ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
        CFLAGS += -O0 -ggdb -rdynamic -D_GNU_SOURCE -MD -MP -D TECH_PREVIEW
        LDFLAGS+=-Wl,--no-undefined -Wl,--as-needed
        EXTRA_ARGS = --with-backtrace
+       ifneq (,$(findstring event,$(DEB_BUILD_OPTIONS)))
+               EXTRA_ARGS = --with-backtrace --with-experimental_eventsmtp
+       endif
 else
        LDFLAGS+=-Wl,--no-undefined -Wl,--as-needed
        CFLAGS += -O2
 endif
 
+ifneq (,$(findstring backtrace,$(DEB_BUILD_OPTIONS)))
+       CFLAGS+= -rdynamic -D_GNU_SOURCE -MD -MP
+       LDFLAGS+=-Wl,--no-undefined -Wl,--as-needed
+       EXTRA_ARGS += --with-backtrace
+endif
+
 ifneq (,$(findstring threadoff,$(DEB_BUILD_OPTIONS)))
        THREAD_ARGS=--without-threaded-client
        CFLAGS += -D WITH_THREADLOG
@@ -45,11 +58,16 @@ ifneq (,$(findstring iodbg,$(DEB_BUILD_OPTIONS)))
        CFLAGS += -D BIGBAD_IODBG
 endif
 
+ifneq (,$(findstring gcov,$(DEB_BUILD_OPTIONS)))
+       CFLAGS += -fprofile-arcs -ftest-coverage
+       LDFLAGS += -fprofile-arcs -ftest-coverage
+endif
+
 configure: configure-stamp
 configure-stamp:
        dh_testdir
 
-       LDFLAGS="$(LDFLAGS)"; CFLAGS="$(CFLAGS)" ./configure \
+       CC=$(COMPILER); LDFLAGS="$(LDFLAGS)"; CFLAGS="$(CFLAGS)" ./configure \
                --prefix=/var/lib/citadel/ \
                --with-datadir=/var/lib/citadel/ \
                --with-helpdir=/usr/share/citadel-server/ \