+ correct FS-flags on citadel.co* on startup
[citadel.git] / citadel / debian / rules
index 0b4a8020b86259eca4f684a57b18700dec53572b..e29c9d0e5a704eb1e9a0918656bfbdc0631e6b08 100755 (executable)
@@ -4,42 +4,60 @@
 #export DH_VERBOSE=1
 
 # This has to be exported to make some magic below work.
+DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+
 export DH_OPTIONS
 
 DEB_DESTDIR = $(CURDIR)/debian/tmp
 
 CFLAGS = -Wall -g
 
-ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
-       CFLAGS += -O0 -ggdb -rdynamic -D_GNU_SOURCE -MD -MP 
-       LDFLAGS += -pg 
-       SERVER_LDFLAGS += -lm
-#      SERVER_LDFLAGS += -pg
+
+EXTRA_ARGS=
+PROFILE_ARGS=
+#to enable debugging: export DEB_BUILD_OPTIONS="debug profiling threadoff"
+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
 else
+       LDFLAGS+=-Wl,--no-undefined -Wl,--as-needed
        CFLAGS += -O2
 endif
 
+ifneq (,$(findstring threadoff,$(DEB_BUILD_OPTIONS)))
+       THREAD_ARGS=--without-threaded-client
+else
+       THREAD_ARGS=
+endif
+
 configure: configure-stamp
 configure-stamp:
        dh_testdir
 
-       CFLAGS="$(CFLAGS)" ./configure \
-               --with-prefix=/var/lib/citadel \
-               --with-datadir=/var/lib/citadel \
-               --with-staticdatadir=/usr/share/citadel-server \
-               --with-spooldir=/var/spool/citadel \
-               --with-sysconfdir=/etc/citadel \
-               --with-rundir=/var/run/citadel \
+       LDFLAGS="$(LDFLAGS)"; CFLAGS="$(CFLAGS)" ./configure \
+               --prefix=/var/lib/citadel/ \
+               --with-datadir=/var/lib/citadel/ \
+               --with-helpdir=/usr/share/citadel-server/ \
+               --with-spooldir=/var/spool/citadel/ \
+               --with-sysconfdir=/etc/citadel/ \
+               --with-rundir=/var/run/citadel/ \
                --with-docdir=/usr/share/doc/citadel-doc/ \
+               --with-staticdatadir=/etc/citadel/ \
                --with-ssldir=/etc/ssl/citadel/ \
                --with-utility-bindir=/usr/lib/citadel-server/ \
+               --with-autosysconfdir=/var/lib/citadel/data/ \
                --with-pam \
                --with-db \
                --with-zlib \
                --with-ldap \
                --with-libical \
                --with-libsieve \
-               --enable-debug
+               --enable-debug $(EXTRA_ARGS) $(PROFILE_ARGS) $(THREAD_ARGS)
 
        touch configure-stamp
 
@@ -62,7 +80,7 @@ clean:
        dh_testroot
        rm -f build-arch-stamp build-indep-stamp configure-stamp
 
-       -$(MAKE) distclean
+       [ ! -f Makefile ] || $(MAKE) distclean
 
        dh_clean 
        rm -f config.status config.log