#!/usr/bin/make -f # # Script for building YAZ from source to .deb-packages. # # Created by Morten Hendriksen based on sample # debhelper script from Joey Hess. GPL 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 YAZ_WITH_SSL?=0 CONFIG_FLAGS=--enable-static --enable-shared --enable-tcpd --prefix=/usr # Enable parallel builds if CONCURRENCY_LEVEL is set ifdef CONCURRENCY_LEVEL MCFLAGS=-j$(CONCURRENCY_LEVEL) else MCFLAGS= endif ifeq ($(YAZ_WITH_SSL),1) export BUILD_SSL=1 SSL_FLAGS=--with-openssl else SSL_FLAGS= endif YAZ_VERSION=1.8.6 YAZSRCDIR?=$(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 YAZ_VERSION # Local library path for linking with right dependencies LOCAL_LINK=-ldebian/yaz-runtime/usr/lib/ $(YAZSRCDIR)/configure: $(YAZSRCDIR)/configure.in cd $(YAZSRCDIR); sh buildconf.sh configure: stamp-configure stamp-configure: $(YAZSRCDIR)/configure dh_testdir -rm -rf build mkdir build cd build; $(YAZSRCDIR)/configure $(CONFIG_FLAGS) $(SSL_FLAGS) touch stamp-configure build: stamp-build stamp-build: stamp-configure dh_testdir # Add here commands to compile the package. $(MAKE) -C build $(MCFLAGS) touch stamp-build clean: dh_testdir #dh_testroot -rm -f stamp-* -rm -rf build dh_clean -rm -rf debian/yaz-runtime debian/yaz-runtime-ssl debian/yaz-devel \ debian/with-ssl debian/*.debhelper debian/substvars debian/shlibs.yaz-* install: stamp-install stamp-install: stamp-build dh_testdir dh_testroot dh_clean -k -a dh_installdirs -a # Add here commands to install the package into debian/tmp. -mkdirhier debian/tmp/usr $(MAKE) -C build install prefix=`pwd`/debian/tmp/usr touch stamp-install # Build architecture-independent files here. binary-indep: build install dh_testdir dh_testroot dh_installdocs -p yaz-doc doc/ dh_installchangelogs -p yaz-doc dh_link -p yaz-doc dh_strip -p yaz-doc dh_compress -p yaz-doc dh_fixperms -p yaz-doc dh_gencontrol -p yaz-doc dh_md5sums -p yaz-doc dh_builddeb -p yaz-doc # Build architecture-dependent files here. binary-arch: build install dh_testdir dh_testroot dh_movefiles -p yaz-devel usr/share/aclocal usr/lib/*.a usr/include usr/bin dh_movefiles -p yaz-runtime usr/lib usr/share/yaz dh_installexamples -p yaz-devel dh_installdocs --all README TODO LICENSE CHANGELOG debian/copyright mv debian/yaz-runtime/usr/share/doc/yaz-runtime/CHANGELOG debian/yaz-runtime/usr/share/doc/yaz-runtime/changelog mv debian/yaz-devel/usr/share/doc/yaz-devel/CHANGELOG debian/yaz-devel/usr/share/doc/yaz-devel/changelog dh_installchangelogs dh_link dh_strip dh_compress -a dh_fixperms -a dh_installdeb -p yaz-runtime dh_installdeb -p yaz-devel dh_shlibdeps -p yaz-runtime $(LOCAL_LINK) -- debian/yaz-runtime/usr/lib/*.so dh_shlibdeps -p yaz-devel $(LOCAL_LINK) -- debian/yaz-devel/usr/bin/* dh_undocumented -p yaz-devel yaz-client.1 yaz-comp.1 yaz-config.1 yaz-ztest.1 zoomsh.1 ifeq ($(YAZ_WITH_SSL),1) dh_undocumented -p yaz-devel yaz-client-ssl.1 yaz-ztest-ssl.1 echo "libyaz 1 yaz-runtime-ssl" > debian/yaz-runtime/DEBIAN/shlibs echo "libyazthread 1 yaz-runtime-ssl" >> debian/yaz-runtime/DEBIAN/shlibs echo "libyazmalloc 1 yaz-runtime-ssl" >> debian/yaz-runtime/DEBIAN/shlibs echo "libyazssl 1 yaz-runtime-ssl" >> debian/yaz-runtime/DEBIAN/shlibs # Move doc dir mv debian/yaz-runtime/usr/share/doc/yaz-runtime debian/yaz-runtime/usr/share/doc/yaz-runtime-ssl mv debian/yaz-devel/usr/share/doc/yaz-devel debian/yaz-devel/usr/share/doc/yaz-devel-ssl else echo "libyaz 1 yaz-runtime" > debian/yaz-runtime/DEBIAN/shlibs echo "libyazthread 1 yaz-runtime" >> debian/yaz-runtime/DEBIAN/shlibs echo "libyazmalloc 1 yaz-runtime" >> debian/yaz-runtime/DEBIAN/shlibs endif chmod 644 debian/yaz-runtime/DEBIAN/shlibs # Ugh Ugly hack cat debian/postinst >> debian/yaz-runtime/DEBIAN/postinst dh_md5sums -p yaz-runtime dh_md5sums -p yaz-devel ifeq ($(YAZ_WITH_SSL),1) dh_gencontrol -p yaz-runtime -- -DPackage=yaz-runtime-ssl -DConflicts=yaz-runtime -DReplaces=yaz-runtime -DProvides=yaz-runtime dh_gencontrol -p yaz-devel -- -DPackage=yaz-devel-ssl -DConflicts=yaz-devel -DReplaces=yaz-devel else dh_gencontrol -p yaz-runtime dh_gencontrol -p yaz-devel endif # 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 yaz-doc -rm -rf debian/tmp/usr/include debian/tmp/usr/share/aclocal debian/tmp/usr/lib debian/tmp/usr/bin \ debian/tmp/usr/share/yaz dh_builddeb -p yaz-runtime dh_builddeb -p yaz-devel binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary install install-stamp configure yazrelease: # Conveniency target for building both SSL and non-ssl versions dh_testdir # Non-ssl version and source dpkg-buildpackage $(EXTRA_OPTS) -rfakeroot # SSL version -YAZ_WITH_SSL=1 dpkg-buildpackage $(EXTRA_OPTS) -rfakeroot -B