#!/usr/bin/make -f # -*- makefile -*- DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS) DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) LIBDIR = usr/lib/$(DEB_HOST_MULTIARCH) LIBEXECDIR = $(LIBDIR)/schroot ifneq ($(DEB_HOST_ARCH_OS),linux) LVMSNAP_OPTIONS = -Dlvm-snapshot=OFF BTRFSSNAP_OPTIONS = -Dbtrfs-snapshot=OFF else LVMSNAP_OPTIONS = -Dlvm-snapshot=ON BTRFSSNAP_OPTIONS = -Dbtrfs-snapshot=ON endif ifneq ($(DEB_HOST_ARCH_OS),kfreebsd) UUID_OPTIONS = -Duuid=ON else UUID_OPTIONS = -Duuid=OFF endif export DEB_CFLAGS_MAINT_APPEND := -Wall export DEB_CXXFLAGS_MAINT_APPEND := -Wall -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE export DEB_BUILD_MAINT_OPTIONS := hardening=+all DH_OPTIONS = --with systemd --buildsystem=cmake --builddirectory=debian/build --parallel ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) MAKEFLAGS += -j$(NUMJOBS) endif DH_INSTALL_FILES = $(basename $(wildcard debian/*.install.in)) # Use debhelper's dh %: dh $@ $(DH_OPTIONS) %.install: %.install.in sed -e 's;@LIBDIR@;$(LIBDIR);g' -e 's;@LIBEXECDIR@;$(LIBEXECDIR);g' <$< >$@ override_dh_auto_configure: debian/build/CMakeCache.txt debian/build/CMakeCache.txt: CMakeLists.txt mkdir -p $(dir $@) cd $(dir $@) ; \ GTEST_ROOT="$(CURDIR)/debian/build/gtest" \ CFLAGS="$(CFLAGS) $(CPPFLAGS)" \ CXXFLAGS="$(CXXFLAGS) $(CPPFLAGS)" \ cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_SYSCONFDIR=/etc \ -DCMAKE_INSTALL_LOCALSTATEDIR=/var \ -DCMAKE_INSTALL_LIBEXECDIR=lib \ -DSCHROOT_LIBEXEC_DIR=/$(LIBDIR)/schroot \ -Ddebug=OFF -Ddchroot=OFF -Ddchroot-dsa=OFF \ -Dbash_completion_dir=/usr/share/bash-completion/completions \ $(LVMSNAP_OPTIONS) $(BTRFSSNAP_OPTIONS) \ -DBTRFS_EXECUTABLE=/sbin/btrfs \ -DLVCREATE_EXECUTABLE=/sbin/lvcreate \ -DLVREMOVE_EXECUTABLE=/sbin/lvremove \ $(CURDIR) dh_testdir override_dh_auto_clean: dh_auto_clean rm -f $(DH_INSTALL_FILES) rm -rf debian/build rm -rf debian/install override_dh_auto_build: ifneq (,$(shell dh_listpackages -a 2>/dev/null)) $(MAKE) -C debian/build all VERBOSE=1 endif ifneq (,$(shell dh_listpackages -i 2>/dev/null)) $(MAKE) -C debian/build doc VERBOSE=1 endif override_dh_auto_test: install-arch: build-arch $(DH_INSTALL_FILES) dh $@ $(DH_OPTIONS) # Setuid executables chmod 4755 $(CURDIR)/debian/schroot/usr/bin/schroot # Lintian overrides mkdir -p $(CURDIR)/debian/schroot/usr/share/lintian/overrides cp $(CURDIR)/debian/schroot.lintian-overrides $(CURDIR)/debian/schroot/usr/share/lintian/overrides/schroot # Requires fakeroot, so tests need running here. $(MAKE) -C debian/build test ARGS=-V install-indep: build-indep $(DH_INSTALL_FILES) dh $@ $(DH_OPTIONS) install: build $(DH_INSTALL_FILES) dh $@ $(DH_OPTIONS) override_dh_auto_install: ifneq (,$(shell dh_listpackages -a 2>/dev/null)) $(MAKE) -C debian/build install DESTDIR=$(CURDIR)/debian/install PO4A= endif ifneq (,$(shell dh_listpackages -i 2>/dev/null)) $(MAKE) -C debian/build/po install DESTDIR=$(CURDIR)/debian/install PO4A= endif override_dh_installchangelogs: dh_installchangelogs ChangeLog override_dh_installinit: dh_installinit --no-start --update-rcd-params='defaults' override_dh_systemd_start: dh_systemd_start --no-start .PHONY: override_dh_auto_configure override_dh_auto_clean override_dh_auto_build override_dh_auto_test override_dh_auto_install override_dh_installchangelogs override_dh_installinit install-arch install-indep