@@ -12,6 +12,8 @@ HID_REBIND := /sbin/hid-rebind
1212PACKAGE_NAME = digimend-kernel-drivers
1313PACKAGE_VERSION = 8
1414PACKAGE = $(PACKAGE_NAME ) -$(PACKAGE_VERSION )
15+ DKMS_MODULES_NAME = digimend
16+ DKMS_MODULES = $(DKMS_MODULES_NAME ) /$(PACKAGE_VERSION )
1517
1618modules modules_install clean :
1719 $(MAKE ) -C $(KDIR ) SUBDIRS=$(PWD ) $@
@@ -38,5 +40,38 @@ install: modules_install files_install
3840
3941uninstall : modules_uninstall files_uninstall
4042
43+ dkms_check :
44+ @if ! which dkms > /dev/null; then \
45+ echo " DKMS not found, aborting." >&2 ; \
46+ echo " Make sure DKMS is installed," ; \
47+ echo " and \" make\" is running under sudo, or as root." ; \
48+ exit 1; \
49+ fi
50+
51+ dkms_modules_install : dkms_check
52+ @if dkms status $(DKMS_MODULES_NAME ) | grep . > /dev/null; then \
53+ echo " DKMS has DIGImend modules added already, aborting." >&2 ; \
54+ echo " Run \" make dkms_uninstall\" first" >&2 ; \
55+ exit 1; \
56+ fi
57+ dkms add .
58+ dkms build $(DKMS_MODULES )
59+ dkms install $(DKMS_MODULES )
60+
61+ dkms_modules_uninstall : dkms_check
62+ set -e -x; \
63+ dkms status $(DKMS_MODULES_NAME ) | \
64+ while IFS=' , :' read -r modules_name \
65+ modules_version \
66+ kernel_version \
67+ ignore; do \
68+ dkms remove " $$ modules_name/$$ modules_version" \
69+ -k " $$ kernel_version" ; \
70+ done
71+
72+ dkms_install : dkms_modules_install files_install
73+
74+ dkms_uninstall : dkms_modules_uninstall files_uninstall
75+
4176dist :
4277 git archive --format=tar.gz --prefix=$(PACKAGE ) / HEAD > $(PACKAGE ) .tar.gz
0 commit comments