* Fixed an small leak
[modest] / debian / rules
index 73597e2..2aa12e7 100755 (executable)
@@ -1,19 +1,16 @@
 #!/usr/bin/make -f
 # -*- makefile -*-
-# Sample debian/rules that uses debhelper.
-# GNU copyright 1997 to 1999 by Joey Hess.
 
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1
 
-
 # These are used for cross-compiling and for saving the configure script
 # from having to guess our platform (since we know it already)
 DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
 DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
 
-
-CFLAGS = -Wall -Wno-format -g
+CFLAGS = -Wall -g
+PACKAGENAME = modest
 
 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
        CFLAGS += -O0
@@ -23,41 +20,54 @@ endif
 ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
        INSTALL_PROGRAM += -s
 endif
+
 ifneq (,$(findstring thumb,$(DEB_BUILD_OPTIONS)))
         CFLAGS += -mthumb
 endif
 
+LAUNCHER = no
+#ifneq (,$(findstring maemo-launcher,$(DEB_BUILD_OPTIONS)))
+#      LAUNCHER = yes
+#endif
 
-# option 2, assuming the library is created as src/.libs/libfoo.so.2.0.5 or so
-version=`ls libmodest-dbus-client/.libs/lib*.so.* | \
- awk '{if (match($$0,/[0-9]+\.[0-9]+\.[0-9]+$$/)) print substr($$0,RSTART)}'`
-major=`ls libmodest-dbus-client/.libs/lib*.so.* | \
- awk '{if (match($$0,/\.so\.[0-9]+$$/)) print substr($$0,RSTART+4)}'`
-   
+ifeq "$(strip $(LAUNCHER))" "yes"
+       LAUNCHER_DEPENDS = -Vlauncher:Depends="maemo-launcher"
+       LAUNCHER_CFLAGS = -shared
+       LAUNCHER_LDFLAGS = -pie -shared -export-dynamic
+       CFLAGS += -fPIC
+endif
 
-config.status:
-       if [ ! -x configure ]; then ./autogen.sh; fi
+
+config.status: configure
        dh_testdir
-       # Add here commands to configure the package.
+       # commands to configure the package.
+       if [ ! -x configure ]; then ./autogen.sh; fi
        CFLAGS="$(CFLAGS)" ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --sysconfdir=/etc --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info
 
+configure: configure-stamp
+configure-stamp:
+       dh_testdir
+       ./autogen.sh
+       touch configure-stamp
 
 build: build-stamp
 
 build-stamp:  config.status
        dh_testdir
 
-       # Add here commands to compile the package.
-       $(MAKE)
-
+        # commands to compile the package.
+       $(MAKE) \
+         MAEMO_LAUNCHER_CFLAGS="$(LAUNCHER_CFLAGS)" \
+         MAEMO_LAUNCHER_LDFLAGS="$(LAUNCHER_LDFLAGS)"
        touch build-stamp
 
+
 clean:
        dh_testdir
        dh_testroot
        rm -f build-stamp 
 
-       # Add here commands to clean up after the build process.
+# commands to clean up after the build process.
        -$(MAKE) distclean
 ifneq "$(wildcard /usr/share/misc/config.sub)" ""
        cp -f /usr/share/misc/config.sub config.sub
@@ -65,8 +75,6 @@ endif
 ifneq "$(wildcard /usr/share/misc/config.guess)" ""
        cp -f /usr/share/misc/config.guess config.guess
 endif
-
-
        dh_clean 
 
 install: build
@@ -75,8 +83,21 @@ install: build
        dh_clean -k 
        dh_installdirs
 
-       # Add here commands to install the package into debian/modest
-       $(MAKE) install DESTDIR=$(CURDIR)/debian/modest
+# install the package into debian/tmp/
+       $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
+
+ifeq "$(strip $(LAUNCHER))" "yes"
+       mv $(CURDIR)/debian/tmp/usr/bin/modest \
+       $(CURDIR)/debian/modest/usr/bin/modest.launch
+       ln -s /usr/bin/maemo-invoker \
+       $(CURDIR)/debian/modest/usr/bin/modest
+endif
+
+# ACHTUNG: hack
+# we remove the modest.mo english localization, if the current control file contains a reference
+# to modest-l10n-mr0; thus, the modest package will not conflict with that one.
+# if modest-l10n-mr0 is not there, we'll install our own (en_GB) .mo file.
+       if grep -q modest-l10n-mr0 $(CURDIR)/debian/control ; then rm $(CURDIR)/debian/tmp/usr/share/locale/en_GB/LC_MESSAGES/modest.mo ; else echo "modest.mo not removed."; fi
 
 
 # Build architecture-independent files here.
@@ -85,12 +106,12 @@ binary-indep: build install
 
 # Build architecture-dependent files here.
 binary-arch: build install
-       dh_testdir 
-       dh_testroot  
+       dh_testdir
+       dh_testroot
        dh_installchangelogs 
        dh_installdocs
-#      dh_installexamples
-       dh_install --sourcedir=debian/modest 
+       dh_installexamples
+       dh_install --sourcedir=debian/tmp -v
        dh_installmenu
 #      dh_installdebconf       
 #      dh_installlogrotate
@@ -101,18 +122,18 @@ binary-arch: build install
 #      dh_installcron
 #      dh_installinfo
        dh_installman
-       dh_link 
-       dh_strip -a --dbg-package="modest" 
-       dh_compress 
-       dh_fixperms 
+       dh_link
+       dh_strip --keep-debug --dbg-package=modest --dbg-package=libmodest-dbus-client
+       dh_compress
+       dh_fixperms
 #      dh_perl
 #      dh_python
-       dh_makeshlibs  -V 
+       dh_makeshlibs
        dh_installdeb
-       dh_shlibdeps -V
-       dh_gencontrol
+       dh_shlibdeps
+       dh_gencontrol -- $(LAUNCHER_DEPENDS)
        dh_md5sums
        dh_builddeb
 
 binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install 
+.PHONY: build clean binary-indep binary-arch binary install