#!/usr/bin/make -f

DKMS_NAME := minimem
DKMS_VERSION := 0.8.0
DKMS_DESTDIR := debian/tmp/usr/src/$(DKMS_NAME)-$(DKMS_VERSION)
SYSTEMD_DIR := debian/tmp/lib/systemd/system
MODLOAD_DIR := debian/tmp/lib/modules-load.d

export DEB_BUILD_MAINT_OPTIONS = hardening=+all

%:
	dh $@

override_dh_auto_configure:
	dh_auto_configure -- --buildtype=plain -Dtests=false

override_dh_auto_build:
	dh_auto_build

override_dh_auto_install:
	dh_auto_install

	mkdir -p $(DKMS_DESTDIR)/lib/compressors $(DKMS_DESTDIR)/include $(DKMS_DESTDIR)/patches

	install -m 644 dkms/dkms.conf $(DKMS_DESTDIR)/
	install -m 644 dkms/Makefile $(DKMS_DESTDIR)/
	install -m 755 dkms/install.sh $(DKMS_DESTDIR)/
	install -m 755 dkms/uninstall.sh $(DKMS_DESTDIR)/

	install -m 644 src/kernel/*.c $(DKMS_DESTDIR)/
	install -m 644 src/kernel/*.h $(DKMS_DESTDIR)/

	install -m 644 src/lib/minimem.h $(DKMS_DESTDIR)/lib/
	install -m 644 src/lib/advisor.c $(DKMS_DESTDIR)/lib/
	install -m 644 src/lib/advisor.h $(DKMS_DESTDIR)/lib/

	for comp in same_page bdi wkdm wkdm64 block_class lz4_wrap delta; do \
		install -m 644 src/lib/compressors/$$comp.* $(DKMS_DESTDIR)/lib/compressors/; \
	done

	install -m 644 patches/minimem-*.patch $(DKMS_DESTDIR)/patches/ || true

	for stub in string.h stdbool.h stdint.h stddef.h stdlib.h limits.h; do \
		install -m 644 /dev/null $(DKMS_DESTDIR)/include/$$stub; \
	done

	mkdir -p $(SYSTEMD_DIR) $(MODLOAD_DIR)
	install -m 644 systemd/minimem-load.service $(SYSTEMD_DIR)/
	install -m 644 systemd/minimem.service $(SYSTEMD_DIR)/
	install -m 644 systemd/modules-load.d/minimem.conf $(MODLOAD_DIR)/

override_dh_dkms:
	dh_dkms -V || true

override_dh_missing:
	dh_missing