#!/usr/bin/make -f
# See debhelper(7) (uncomment to enable)
# output every command that modifies files on the build system.
#export DH_VERBOSE = 1


# see FEATURE AREAS in dpkg-buildflags(1)
#export DEB_BUILD_MAINT_OPTIONS = hardening=+all

# see ENVIRONMENT in dpkg-buildflags(1)
# package maintainers to append CFLAGS
#export DEB_CFLAGS_MAINT_APPEND  = -Wall -pedantic
# package maintainers to append LDFLAGS
#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed

-include /usr/share/dpkg/pkg-info.mk

WITH_MODULES = $(filter modules,${DEB_BUILD_PROFILES})

kernel_source_args = 
ifeq "" "$(filter command environment,$(origin kernelver))"
kernelver = $(shell uname -r)
else
kernel_source_args += --with-kernelvers=$(kernelver)
endif
ifeq (,$(WITH_MODULES))
nomodules = --disable-kernel-module
else
nomodules =
endif

ifeq "" "$(filter command environment,$(origin kernel_source_dir))"
kernel_source_dir = /lib/modules/$(kernelver)/build
else
kernel_source_args += --with-kerneldir=$(kernel_source_dir)
endif
kernelver_real = $(shell make M=$$PWD -C $(kernel_source_dir) kernelrelease)
kernelver1 = $(subst _,-,$(kernelver))

%:
ifeq (,$(WITH_MODULES))
	dh $@ --with dkms,autoreconf
else
	dh $@ --with autoreconf
endif

override_dh_autoreconf:
	dh_autoreconf

override_dh_auto_configure:
	dh_auto_configure -- $(kernel_source_args) $(nomodules)

override_dh_auto_clean:
	dh_auto_clean || :

override_dh_auto_build:
	dh_auto_build
	cp 56-xpmem.rules debian/xpmem.udev

override_dh_auto_test:

override_dh_auto_install:
ifeq (,$(WITH_MODULES))
	dh_auto_install
	debian/copy_dkms_files debian/xpmem-dkms/usr/src/xpmem-${DEB_VERSION_UPSTREAM}
else
	dh_auto_install
	@if [ -d debian/tmp/usr/lib/modules ]; then \
		rm -rf debian/tmp/lib/modules; \
		mkdir -p debian/tmp/lib; \
		mv -v debian/tmp/usr/lib/modules debian/tmp/lib/ ; \
	fi
endif

override_dh_dkms:
	dh_dkms -V

ifneq (,$(WITH_MODULES))
override_dh_gencontrol:
	dh_gencontrol -- -v$(DEB_VERSION).kver.$(kernelver1)
	sed -i -e "s|@KERNEL_DIR@|/lib/modules/$(kernelver)|" debian/xpmem-modules/DEBIAN/control
endif
