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"
+#to enable debugging: export DEB_BUILD_OPTIONS="debug profiling threadoff rss gcov clang cares"
+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
+ CFLAGS += -O0 -ggdb -rdynamic -D_GNU_SOURCE -MD -MP -D TECH_PREVIEW -Wcast-align
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
else
THREAD_ARGS=
endif
+
+ifneq (,$(findstring rss,$(DEB_BUILD_OPTIONS)))
+ CFLAGS += -D DEBUG_RSS
+endif
+
+ifneq (,$(findstring cares,$(DEB_BUILD_OPTIONS)))
+ CFLAGS += -D DEBUG_CARES
+endif
+
+ifneq (,$(findstring iodbg,$(DEB_BUILD_OPTIONS)))
+ CFLAGS += -D BIGBAD_IODBG -D LDAP_INITIALIZE
+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 \
+ export CC=$(COMPILER); export LDFLAGS="$(LDFLAGS)"; export CFLAGS="$(CFLAGS)"; ./configure \
--prefix=/var/lib/citadel/ \
--with-datadir=/var/lib/citadel/ \
--with-helpdir=/usr/share/citadel-server/ \
--with-ssldir=/etc/ssl/citadel/ \
--with-utility-bindir=/usr/lib/citadel-server/ \
--with-autosysconfdir=/var/lib/citadel/data/ \
+ --with-localedir=/usr/share/ \
--with-pam \
--with-db \
- --with-zlib \
- --with-ldap \
- --with-libical \
- --with-libsieve \
--enable-debug $(EXTRA_ARGS) $(PROFILE_ARGS) $(THREAD_ARGS)
touch configure-stamp
dh_testroot
rm -f build-arch-stamp build-indep-stamp configure-stamp
- [ ! -f Makefile ] || $(MAKE) distclean
dh_clean
rm -f config.status config.log
+#[ ! -f Makefile ] || $(MAKE) distclean
install: install-indep install-arch
install-indep: build-indep
dh_clean -k -s
dh_installdirs -s
+ $(MAKE) install-locale DESTDIR=$(DEB_DESTDIR)
$(MAKE) DESTDIR=$(DEB_DESTDIR) install-exec-new install-data-new
install -D -p -m0755 database_cleanup.sh \