#!/usr/bin/make -f

#export DH_VERBOSE = t

SVERSION := $(shell dpkg-parsechangelog --show-field=Version | rev | cut -d- -f2- | rev)

%:
	dh $@ --builddirectory=build --with dkms


install-mbuf:
	dh_installdirs -padvligorts-mbuf-dkms usr/src/mbuf-$(SVERSION)
	dh_installdirs -padvligorts-mbuf-dkms lib/udev/rules.d
	dh_installdirs -padvligorts-mbuf-dkms usr/lib/modules-load.d
	install --mode=644 -t debian/advligorts-mbuf-dkms/usr/src/mbuf-$(SVERSION) src/drv/mbuf/*.c
	install --mode=644 -t debian/advligorts-mbuf-dkms/usr/src/mbuf-$(SVERSION) src/drv/mbuf/*.h
	install --mode=644 -t debian/advligorts-mbuf-dkms/usr/src/mbuf-$(SVERSION) src/drv/mbuf/Makefile
	install --mode=755 -t debian/advligorts-mbuf-dkms/usr/src/mbuf-$(SVERSION) support/bin/dkms_install_files
	sed 's|__SHARE__|/usr/share/advligorts|' <support/udev/mbuf.rules >debian/advligorts-mbuf-dkms/lib/udev/rules.d/60-mbuf.rules
	echo mbuf > debian/advligorts-mbuf-dkms/usr/lib/modules-load.d/mbuf.conf

install-gpstime:
	dh_installdirs -padvligorts-gpstime-dkms usr/src/gpstime-$(SVERSION)/drv/gpstime
	dh_installdirs -padvligorts-gpstime-dkms usr/src/gpstime-$(SVERSION)/include/drv
	dh_installdirs -padvligorts-gpstime-dkms usr/src/gpstime-$(SVERSION)/include/util
	dh_installdirs -padvligorts-gpstime-dkms usr/src/gpstime-$(SVERSION)/drv/rts-logger/force-printk/
	dh_installdirs -padvligorts-gpstime-dkms lib/udev/rules.d
	dh_installdirs -padvligorts-gpstime-dkms usr/lib/modules-load.d
	dh_installdirs -padvligorts-gpstime-dkms usr/share/advligorts
	dh_installdirs -padvligorts-gpstime-dkms sbin
	install --mode=644 -t debian/advligorts-gpstime-dkms/usr/src/gpstime-$(SVERSION)/drv/gpstime src/drv/gpstime/*.c
	install --mode=644 -t debian/advligorts-gpstime-dkms/usr/src/gpstime-$(SVERSION)/drv/gpstime src/drv/gpstime/*.h
	install --mode=644 -t debian/advligorts-gpstime-dkms/usr/src/gpstime-$(SVERSION)/drv/gpstime src/drv/gpstime/Makefile
	install --mode=644 -t debian/advligorts-gpstime-dkms/usr/src/gpstime-$(SVERSION)/include/drv src/include/drv/*.c
	install --mode=644 -t debian/advligorts-gpstime-dkms/usr/src/gpstime-$(SVERSION)/include/drv src/include/drv/*.h
	install --mode=644 -t debian/advligorts-gpstime-dkms/usr/src/gpstime-$(SVERSION)/include/util src/include/util/*.h
	install --mode=644 -t debian/advligorts-gpstime-dkms/usr/src/gpstime-$(SVERSION)/include/ src/include/proc.h
	install --mode=644 -t debian/advligorts-gpstime-dkms/usr/src/gpstime-$(SVERSION)/include/ src/include/portableInline.h
	install --mode=644 -t debian/advligorts-gpstime-dkms/usr/src/gpstime-$(SVERSION)/drv/rts-logger/force-printk/ src/drv/rts-logger/force-printk/printk-rts-logger.c
	install --mode=755 -t debian/advligorts-gpstime-dkms/usr/src/gpstime-$(SVERSION) support/bin/dkms_install_files
	install --mode=755 src/drv/gpstime/gpstime_module_config/gpstime_module_config.py debian/advligorts-gpstime-dkms/sbin/gpstime_module_config
	install --mode=644 support/udev/gpstime.rules debian/advligorts-gpstime-dkms/lib/udev/rules.d/60-gpstime.rules
	echo gpstime > debian/advligorts-gpstime-dkms/usr/lib/modules-load.d/gpstime.conf

install-rts-cpu-isolator:
	dh_installdirs -padvligorts-cpu-isolator-dkms usr/src/rts-cpu-isolator-$(SVERSION)
	dh_installdirs -padvligorts-cpu-isolator-dkms usr/lib/modules-load.d
	install --mode=644 -t debian/advligorts-cpu-isolator-dkms/usr/src/rts-cpu-isolator-$(SVERSION) src/drv/rts-cpu-isolator/*.c
	install --mode=644 -t debian/advligorts-cpu-isolator-dkms/usr/src/rts-cpu-isolator-$(SVERSION) src/drv/rts-cpu-isolator/*.h
	install --mode=644 -t debian/advligorts-cpu-isolator-dkms/usr/src/rts-cpu-isolator-$(SVERSION) src/drv/rts-cpu-isolator/Makefile
	install --mode=755 -t debian/advligorts-cpu-isolator-dkms/usr/src/rts-cpu-isolator-$(SVERSION) support/bin/dkms_install_files
	echo rts-cpu-isolator > debian/advligorts-cpu-isolator-dkms/usr/lib/modules-load.d/rts-cpu-isolator.conf

install-rts-logger:
	dh_installdirs -padvligorts-logger-dkms usr/src/rts-logger-$(SVERSION)
	dh_installdirs -padvligorts-logger-dkms usr/src/rts-logger-$(SVERSION)/drv/
	dh_installdirs -padvligorts-logger-dkms usr/lib/modules-load.d
	install --mode=644 -t debian/advligorts-logger-dkms/usr/src/rts-logger-$(SVERSION) src/drv/rts-logger/module/*.c
	install --mode=644 -t debian/advligorts-logger-dkms/usr/src/rts-logger-$(SVERSION)/drv src/include/drv/rts-logger.h
	install --mode=644 -t debian/advligorts-logger-dkms/usr/src/rts-logger-$(SVERSION) src/drv/rts-logger/module/Makefile
	install --mode=755 -t debian/advligorts-logger-dkms/usr/src/rts-logger-$(SVERSION) support/bin/dkms_install_files
	echo rts-logger > debian/advligorts-logger-dkms/usr/lib/modules-load.d/rts-logger.conf

install-advligorts-dolphin-proxy-km:
	dh_installdirs -padvligorts-dolphin-proxy-km-dkms usr/src/dolphin-proxy-km-$(SVERSION)
	dh_installdirs -padvligorts-dolphin-proxy-km-dkms usr/src/dolphin-proxy-km-$(SVERSION)/util/
	dh_installdirs -padvligorts-dolphin-proxy-km-dkms usr/lib/modules-load.d
	install --mode=644 -t debian/advligorts-dolphin-proxy-km-dkms/usr/src/dolphin-proxy-km-$(SVERSION) src/dolphin_daemon/dolphin_proxy_km/*
	install --mode=644 -t debian/advligorts-dolphin-proxy-km-dkms/usr/src/dolphin-proxy-km-$(SVERSION) src/dolphin_daemon/include/daemon_messages.h
	install --mode=644 -t debian/advligorts-dolphin-proxy-km-dkms/usr/src/dolphin-proxy-km-$(SVERSION)/util/ src/include/util/fixed_width_types.h
	install --mode=644 -t debian/advligorts-dolphin-proxy-km-dkms/usr/src/dolphin-proxy-km-$(SVERSION) support/bin/dkms_install_files


install-version:
	mkdir -p debian/advligorts-rcg/usr/share/advligorts/src/
	echo $(SVERSION) > debian/advligorts-rcg/usr/share/advligorts/src/rcg-version
	git rev-parse HEAD > debian/advligorts-rcg/usr/share/advligorts/src/rcg_git_hash.txt
	git --no-pager diff > debian/advligorts-rcg/usr/share/advligorts/src/rcg_git_diff.txt


override_dh_auto_configure:
	mkdir -p build
	(cd build && cmake -DCMAKE_INSTALL_PREFIX=$(DESTDIR)/usr ..)

override_dh_install: install-gpstime install-mbuf install-version install-rts-cpu-isolator install-rts-logger install-advligorts-dolphin-proxy-km
	dh_install

override_dh_dkms:
	dh_dkms -V $(SVERSION)

override_dh_auto_test:
	true

override_dh_clean:
	rm -rf build
	dh_clean
