#!/usr/bin/make -f #export DH_VERBOSE=1 export DEB_BUILD_MAINT_OPTIONS = hardening=+all export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS) VERSION = $(shell head -n1 debian/changelog | sed -e 's/.*(//;s/-.*).*//;s/\+/\-/') ifeq ($(DEB_HOST_ARCH_OS),) DEB_HOST_ARCH_OS := $(subst -gnu,,$(shell dpkg-architecture -qDEB_HOST_GNU_SYSTEM)) ifeq ($(DEB_HOST_ARCH_OS),gnu) DEB_HOST_ARCH_OS := hurd endif endif ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS))) CFLAGS += -g endif ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) INSTALL_PROGRAM += -s INSTALL_STRIP_FLAG = "" STRIP = "" endif %: dh $@ --parallel --with autotools_dev,systemd override_dh_auto_configure: autoconf ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \ --prefix=/usr \ --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \ --sysconfdir=/etc \ --localstatedir=/var \ --datadir=\$${prefix}/share \ --mandir=\$${prefix}/share/man \ --with-docdir=\$${prefix}/share/doc/libsane \ --disable-locking \ --enable-static \ --enable-pthread \ --with-gphoto2 \ --enable-translations \ --enable-avahi \ --enable-libusb_1_0 \ --enable-pnm-backend \ --without-v4l override_dh_auto_build-indep: # generate POT file for translators (cd po && make sane-backends.pot) $(MAKE) override_dh_auto_clean: # Autoconf-generated files $(RM) include/byteorder.h include/_stdint.h # Add here commands to clean up after the build process. [ ! -f Makefile ] || $(MAKE) distclean $(RM) debian/libsane-common.install $(RM) debian/libsane.udev dh_auto_clean override_dh_auto_install-arch: $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp # remove /usr/lib/sane/libsane.so.1 (libtool side-effect ?) $(RM) debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/sane/libsane.so.1 # remove libsane-dll, same as regular libsane $(RM) debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/sane/libsane-dll.* # install only the manpages for the backends which have been built cp debian/libsane-common.install.in debian/libsane-common.install ls debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/sane/*.so | sed -e \ "s#.*/lib\([^.]\+\)[.]so#usr/share/man/man5/\1.5#" | { while read mp; do \ test -e debian/tmp/$$mp && echo $$mp >> debian/libsane-common.install; done } override_dh_install-arch: dh_install # Install HAL fdi file mkdir -p $(CURDIR)/debian/libsane-common/usr/share/hal/fdi/preprobe/10osvendor $(CURDIR)/tools/sane-desc -s $(CURDIR)/doc/descriptions -m hal-new > \ $(CURDIR)/debian/libsane-common/usr/share/hal/fdi/preprobe/10osvendor/20-libsane.fdi # Install the pkg-config file mkdir -p debian/libsane-dev/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig/ cp tools/sane-backends.pc debian/libsane-dev/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig/ # mkdir -p $(CURDIR)/debian//sane-utils/usr/share/man/man5/ cp $(CURDIR)/doc/sane-umax_pp.man $(CURDIR)/debian/sane-utils/usr/share/man/man5/umax_pp.5 override_dh_installdocs-arch: dh_installdocs # move files that belong to libsane-dev mv debian/tmp/usr/share/doc/libsane/sane.ps debian/libsane-dev/usr/share/doc/libsane-dev/ mv debian/tmp/usr/share/doc/libsane/backend-writing.txt debian/libsane-dev/usr/share/doc/libsane-dev/ override_dh_installdocs-indep: dh_installdocs # Platform-specific documentation # move the html files into html/ install -d debian/libsane-common/usr/share/doc/libsane/html mv debian/tmp/usr/share/doc/libsane/*.html debian/libsane-common/usr/share/doc/libsane/html/ # create the /etc/sane.d/dll.d directory in libsane-common install -d debian/libsane-common/etc/sane.d/dll.d $(RM) debian/libsane-common/etc/sane.d/saned.conf ifeq (kfreebsd,$(DEB_HOST_ARCH_OS)) cp README.freebsd debian/libsane-common/usr/share/doc/libsane/ endif ifeq (linux,$(DEB_HOST_ARCH_OS)) cp README.linux debian/libsane-common/usr/share/doc/libsane/ endif $(RM) $(CURDIR)/debian/libsane-common/usr/share/doc/libsane/*.html $(RM) $(CURDIR)/debian/tmp/usr/share/doc/libsane/*.html override_dh_installudev-arch: ifeq (linux,$(DEB_HOST_ARCH_OS)) # udev support # Generate the udev rules file $(CURDIR)/tools/sane-desc -s $(CURDIR)/doc/descriptions -m udev+acl > $(CURDIR)/debian/libsane.udev dh_installudev endif # remove rpath from the binaries (wonderful tool !) chrpath -d debian/sane-utils/usr/sbin/saned chrpath -d debian/sane-utils/usr/bin/scanimage chrpath -d debian/sane-utils/usr/bin/sane-find-scanner override_dh_installinit-arch: dh_installinit -psane-utils --name=saned --error-handler=saned_eh override_dh_systemd_enable-arch: dh_systemd_enable --no-enable saned.socket override_dh_strip-arch: dh_strip --dbg-package=libsane-dbg override_dh_makeshlibs-arch: dh_makeshlibs -- -v$(VERSION) -Pdebian/libsane -plibsane # Empty dependency_libs in all .la files find debian -name "*.la" -type f -exec sed -i "/dependency_libs/ s/'.*'/''/" -i {} \;