#!/usr/bin/make -f # debian/rules for the dpkg suite. # Copyright © 2004 Scott James Remnant WFLAGS := -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers CFLAGS = -g $(WFLAGS) CXXFLAGS = -g $(WFLAGS) # Disable optimisations if ‘noopt’ found in $DEB_BUILD_OPTIONS ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS))) CFLAGS += -O0 CXXFLAGS += -O0 else CFLAGS += -O2 CXXFLAGS += -O2 endif # 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) ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE)) confflags += --build=$(DEB_HOST_GNU_TYPE) else confflags += --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) endif # Don't enable everything on all platforms DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS) ifeq ($(DEB_HOST_ARCH_OS),linux) confflags += --with-selinux=static endif # Create configure script if necessary, automake handles rebuilding it. configure: dh_testdir autoreconf -v -i # Configure the build tree build-tree/config.status: configure dh_testdir install -d build-tree cd build-tree && ../configure $(confflags) \ CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \ --prefix=/usr \ --mandir=\$${datadir}/man \ --infodir=\$${datadir}/info \ --sysconfdir=/etc \ --localstatedir=/var/lib \ --with-zlib=static \ --with-bz2=static # Build the package in build-tree build: build-tree/config.status dh_testdir cd build-tree && $(MAKE) # Run the test suites check: build dh_testdir ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) cd build-tree && $(MAKE) check endif # Install the package underneath debian/tmp install: check dh_testdir dh_testroot dh_clean -k dh_installdirs cd build-tree && $(MAKE) DESTDIR="$(CURDIR)/debian/tmp" install # Put together the dpkg and dselect packages binary-arch: install dh_testdir -a dh_testroot -a dh_install --sourcedir=debian/tmp -a dh_installcron -a dh_installlogrotate -a install -d debian/dpkg/sbin mv debian/dpkg/usr/sbin/start-stop-daemon debian/dpkg/sbin dh_installchangelogs -a ChangeLog* dh_installdocs -a dh_link -a dh_lintian -a dh_strip -a dh_compress -a dh_fixperms -a dh_installdeb -a dh_shlibdeps -a dh_gencontrol -a dh_md5sums -a dh_builddeb -a # Put together the dpkg-dev package binary-indep: install dh_testdir -i dh_testroot -i dh_install --sourcedir=debian/tmp -i -XDpkg/Gettext.pm dh_installcron -i dh_installchangelogs -i ChangeLog* dh_installdocs -i dh_link -i dh_lintian -i dh_strip -i dh_compress -i dh_fixperms -i dh_installdeb -i dh_gencontrol -i dh_md5sums -i dh_builddeb -i binary: binary-arch binary-indep # Clean up the mess we made clean: dh_testdir [ ! -f Makefile ] || make distclean rm -rf build-tree dh_clean .PHONY: build check install binary-arch binary-indep binary clean