Use dpkg-buildflags in build process
[idzebra-moved-to-github.git] / debian / rules
index bde690c..e833251 100755 (executable)
 #!/usr/bin/make -f
-# 
-# Script for building Zebra from source to .deb-packages.
-#
-# Created by Adam Dickmeiss, based on script by
-# Morten Hendriksen <mgh@dbc.dk>  and from Joey Hess.
+# -*- 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
 
-# This is the debhelper compatability version to use.
-export DH_COMPAT=2
+# 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)
 
-CONFIG_FLAGS=--with-tclconfig=/usr/lib/tcl8.3 --prefix=/usr
+CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS)
+CFLAGS:=$(shell dpkg-buildflags --get CFLAGS) $(CPPFLAGS)
+CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS) $(CPPFLAGS)
+LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS)
 
-# Enable parallel builds if CONCURRENCY_LEVEL is set
-ifdef CONCURRENCY_LEVEL
-MCFLAGS=-j$(CONCURRENCY_LEVEL)
-else
-MCFLAGS=
-endif
-
-ZEBRA_VERSION=1.3.2
-ZEBRASRCDIR?=$(shell pwd)
-# If this is not IndexData's release, then it is a cvs-checkout. Go cheat!
-#   YAZ_VERSION:=$(YAZ_VERSION)-$(shell date -r$(YAZSRCDIR)/CVS +"CVS%Y%m%d")
-export ZEBRA_VERSION
-
-# Local library path for linking with right dependencies
-LOCAL_LINK=-ldebian/zebra-runtime/usr/lib
-
-$(ZEBRASRCDIR)/configure: $(ZEBRASRCDIR)/configure.in
-       cd $(ZEBRASRCDIR); sh buildconf.sh
-
-configure: stamp-configure
-stamp-configure: $(ZEBRASRCDIR)/configure
+config.status: configure
        dh_testdir
-
-       -rm -rf build
-       mkdir build
-       cd build; $(ZEBRASRCDIR)/configure $(CONFIG_FLAGS)
-       touch stamp-configure
-
-build: stamp-build
-stamp-build: stamp-configure
+       # Add here commands to configure the package.
+       CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \
+               LDFLAGS="$(LDFLAGS)" \
+               ./configure --host=$(DEB_HOST_GNU_TYPE) \
+               --build=$(DEB_BUILD_GNU_TYPE) \
+               --mandir=\$${prefix}/share/man \
+               --infodir=\$${prefix}/share/info \
+               --enable-shared --enable-static \
+               --with-yaz=/usr/bin \
+               --with-tclconfig=/usr/lib/tcl8.4 \
+               --prefix=/usr
+
+build: build-stamp
+build-stamp:  config.status
        dh_testdir
 
        # Add here commands to compile the package.
-       $(MAKE) -C build $(MCFLAGS)
+       $(MAKE) 
 
-       touch stamp-build
+       touch build-stamp
 
 clean:
        dh_testdir
-       #dh_testroot
-       -rm -f stamp-*
-       -rm -rf build
+       dh_testroot
+       rm -f build-stamp 
+
+       # Add here commands to clean up after the build process.
+       -$(MAKE) distclean
+ifneq "$(wildcard /usr/share/misc/config.sub)" ""
+       if test ! -f config.sub; then cp -f /usr/share/misc/config.sub config.sub ; fi
+endif
+ifneq "$(wildcard /usr/share/misc/config.guess)" ""
+       if test ! -f config.guess ; then cp -f /usr/share/misc/config.guess config.guess ; fi
+endif
 
-       dh_clean
-       -rm -rf debian/zebra-runtime debian/*.debhelper debian/substvars
+       dh_clean 
 
-install: stamp-install
-stamp-install: stamp-build
+install: build
        dh_testdir
        dh_testroot
-       dh_clean -k -a
-       dh_installdirs -a
+       dh_clean -k 
+       dh_installdirs
 
-       # Add here commands to install the package into debian/tmp.
-       -mkdirhier debian/tmp/usr
-       $(MAKE) -C build install prefix=`pwd`/debian/tmp/usr
+       # Add here commands to install the package into debian/tmp
+       $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
 
-       touch stamp-install
 
 # Build architecture-independent files here.
 binary-indep: build install
-       dh_testdir
-       dh_testroot
-       dh_installdocs -p zebra-doc doc/
-       dh_installchangelogs -p zebra-doc
-       dh_link -p zebra-doc
-       dh_strip -p zebra-doc
-       dh_compress -p zebra-doc
-       dh_fixperms -p zebra-doc
-       dh_gencontrol -p zebra-doc
-       dh_md5sums -p zebra-doc
-
-       dh_builddeb -p zebra-doc
+# We have nothing to do by default.
 
 # Build architecture-dependent files here.
 binary-arch: build install
        dh_testdir
        dh_testroot
-       dh_movefiles -p zebra-runtime usr/share/zebra usr/bin
-
-       cp LICENSE.zebra debian/copyright
-       cp CHANGELOG changelog
-       dh_installdocs --all README TODO changelog debian/copyright
-
-       dh_installchangelogs
+       dh_installchangelogs 
+       dh_installdocs
+       dh_installexamples
+       dh_install --sourcedir=debian/tmp
+#      dh_installmenu
+#      dh_installdebconf       
+#      dh_installlogrotate
+#      dh_installemacsen
+#      dh_installpam
+#      dh_installmime
+#      dh_installinit
+#      dh_installcron
+#      dh_installinfo
+       dh_installman
        dh_link
        dh_strip
-       dh_compress -a
-       dh_fixperms -a
-
-       dh_installdeb -p zebra-runtime
-       dh_installdeb -p zebra-devel
-       dh_undocumented -p zebra-runtime zebraidx.1 zebrasrv.1
-       dh_shlibdeps -p zebra-runtime $(LOCAL_LINK) 
-
-       # Ugh Ugly hack
-       cat debian/postinst >> debian/zebra-runtime/DEBIAN/postinst
-
-       dh_gencontrol -p zebra-runtime
-       dh_md5sums -p zebra-runtime
-
-       # Go kill those CVS-dirs before build
-       -find debian/tmp -type d -name CVS | xargs rm -rf
-       # For some reason it is necessary to remove empty-dirs in zebra-doc
-       -rm -rf debian/tmp/usr/include debian/tmp/usr/share/aclocal debian/tmp/usr/lib debian/tmp/usr/bin \
-               debian/tmp/usr/share/zebra
-
-       dh_builddeb -p zebra-runtime
-
+       dh_compress
+       dh_fixperms
+#      dh_perl
+#      dh_python
+       dh_makeshlibs -V 'libidzebra-2.0 (>= 2.0.20)' -X mod-
+       dh_installdeb
+       dh_shlibdeps -L libidzebra-2.0 -l debian/libidzebra-2.0/usr/lib
+       dh_gencontrol
+       dh_md5sums
+       dh_builddeb
 
 binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install install-stamp configure
-
-zebrarelease:
-       # Conveniency target for building zebra
-       dh_testdir
-       dpkg-buildpackage $(EXTRA_OPTS) -rfakeroot
+.PHONY: build clean binary-indep binary-arch binary install