#!/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?=1 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.8 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:debian/yaz-ssl/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-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 ifeq ($(YAZ_WITH_SSL),1) dh_movefiles -p yaz-ssl usr/bin/*ssl usr/lib/libyazssl* endif dh_movefiles -p yaz-devel usr/share/aclocal usr/lib/*.a usr/lib/*.la usr/lib/*.so usr/include dh_movefiles -p yaz-runtime usr/lib usr/share/yaz usr/bin dh_installexamples -p yaz-devel cp LICENSE debian/copyright cp CHANGELOG changelog dh_installdocs --all README TODO changelog debian/copyright dh_installchangelogs dh_link dh_strip dh_compress -a dh_fixperms -a dh_installdeb -p yaz-runtime dh_installdeb -p yaz-devel dh_undocumented -p yaz-runtime yaz-client.1 yaz-comp.1 yaz-config.1 yaz-ztest.1 zoomsh.1 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 chmod 644 debian/yaz-runtime/DEBIAN/shlibs dh_shlibdeps -p yaz-runtime $(LOCAL_LINK) ifeq ($(YAZ_WITH_SSL),1) dh_installdeb -p yaz-ssl dh_undocumented -p yaz-ssl yaz-client-ssl.1 yaz-ztest-ssl.1 echo "libyazssl 1 yaz-ssl" >> debian/yaz-ssl/DEBIAN/shlibs chmod 644 debian/yaz-ssl/DEBIAN/shlibs dh_shlibdeps -p yaz-ssl $(LOCAL_LINK) cat debian/postinst >> debian/yaz-ssl/DEBIAN/postinst endif # Ugh Ugly hack cat debian/postinst >> debian/yaz-runtime/DEBIAN/postinst dh_gencontrol -p yaz-runtime dh_md5sums -p yaz-runtime dh_gencontrol -p yaz-devel dh_md5sums -p yaz-devel ifeq ($(YAZ_WITH_SSL),1) dh_gencontrol -p yaz-ssl dh_md5sums -p yaz-ssl 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 ifeq ($(YAZ_WITH_SSL),1) dh_builddeb -p yaz-ssl endif 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