File: Makefile

package info (click to toggle)
digimend-dkms 13-4
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 952 kB
  • sloc: ansic: 4,536; sh: 142; makefile: 128
file content (135 lines) | stat: -rw-r--r-- 4,321 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
obj-m := hid-digimend-kye.o hid-digimend-uclogic.o hid-digimend-polostar.o hid-digimend-viewsonic.o
hid-digimend-uclogic-objs := \
	hid-uclogic-core.o \
	hid-uclogic-rdesc.o \
	hid-uclogic-params.o
KVERSION := $(shell uname -r)
KDIR := /lib/modules/$(KVERSION)/build
PWD := $(shell pwd)
DESTDIR =
UDEV_RULES = $(DESTDIR)/lib/udev/rules.d/90-digimend.rules
DEPMOD_CONF = $(DESTDIR)/etc/depmod.d/digimend.conf
DRACUT_CONF_DIR = $(DESTDIR)/usr/lib/dracut/dracut.conf.d
DRACUT_CONF = $(DRACUT_CONF_DIR)/90-digimend.conf
HID_REBIND = $(DESTDIR)/lib/udev/hid-rebind
DIGIMEND_DEBUG = $(DESTDIR)/usr/sbin/digimend-debug
XORG_CONF := $(DESTDIR)/usr/share/X11/xorg.conf.d/50-digimend.conf
PACKAGE_NAME = digimend-kernel-drivers
PACKAGE_VERSION = 13
PACKAGE = $(PACKAGE_NAME)-$(PACKAGE_VERSION)
DKMS_MODULES_NAME = digimend
DKMS_MODULES = $(DKMS_MODULES_NAME)/$(PACKAGE_VERSION)
DKMS_SOURCE_DIR = $(DESTDIR)/usr/src/$(DKMS_MODULES_NAME)-$(PACKAGE_VERSION)

modules modules_install clean:
	$(MAKE) -C $(KDIR) M=$(PWD) $@

depmod_conf_install:
	install -D -m 0644 depmod.conf $(DEPMOD_CONF)
	depmod -a

depmod_conf_uninstall:
	rm -vf $(DEPMOD_CONF)
	depmod -a

dracut_conf_install:
	set -e -x; \
	if test -e $(DRACUT_CONF_DIR); then \
	    install -m 0644 dracut.conf $(DRACUT_CONF); \
	    dracut --force; \
	fi

dracut_conf_uninstall:
	set -e -x; \
	if test -e $(DRACUT_CONF); then \
	    rm -v $(DRACUT_CONF); \
	    dracut --force; \
	fi

xorg_conf_install:
	install -D -m 0644 xorg.conf $(XORG_CONF)

xorg_conf_uninstall:
	rm -vf $(XORG_CONF)

tools_install:
	install -D -m 0755 digimend-debug $(DIGIMEND_DEBUG)

tools_uninstall:
	rm -vf $(DIGIMEND_DEBUG)

udev_rules_install_files:
	install -D -m 0755 hid-rebind $(HID_REBIND)
	install -D -m 0644 udev.rules $(UDEV_RULES)

udev_rules_install: udev_rules_install_files
	udevadm control --reload

udev_rules_uninstall_files:
	rm -vf $(UDEV_RULES) $(HID_REBIND)

udev_rules_uninstall: udev_rules_uninstall_files
	udevadm control --reload

modules_uninstall:
	rm -vf /lib/modules/*/extra/hid-digimend-kye.ko \
	       /lib/modules/*/extra/hid-digimend-polostar.ko \
	       /lib/modules/*/extra/hid-digimend-uclogic.ko \
	       /lib/modules/*/extra/hid-digimend-viewsonic.ko

install: modules modules_install depmod_conf_install dracut_conf_install xorg_conf_install tools_install

uninstall: tools_uninstall xorg_conf_uninstall dracut_conf_uninstall depmod_conf_uninstall modules_uninstall

dkms_check:
	@if ! which dkms >/dev/null; then \
	    echo "DKMS not found, aborting." >&2; \
	    echo "Make sure DKMS is installed,"; \
	    echo "and \"make\" is running under sudo, or as root."; \
	    exit 1; \
	fi

dkms_source_install:
	install -m 0755 -d $(DKMS_SOURCE_DIR)
	install -m 0644 Makefile *.[hc] $(DKMS_SOURCE_DIR)
	install -m 0755 -d $(DKMS_SOURCE_DIR)/usbhid
	install -m 0644 usbhid/*.[hc] $(DKMS_SOURCE_DIR)/usbhid
	for m in kye polostar viewsonic; do \
		mv $(DKMS_SOURCE_DIR)/hid-$$m.c $(DKMS_SOURCE_DIR)/hid-digimend-$$m.c ; \
	done

dkms_modules_install: dkms_check
	@if dkms status $(DKMS_MODULES_NAME) | grep . >/dev/null; then \
	    echo "DKMS has DIGImend modules added already, aborting." >&2; \
	    echo "Run \"make dkms_uninstall\" first" >&2; \
	    exit 1; \
	fi
	dkms add .
	dkms build $(DKMS_MODULES)
	dkms install $(DKMS_MODULES)

dkms_modules_uninstall: dkms_check
	set -e -x; \
	dkms status $(DKMS_MODULES_NAME) | \
	    while IFS=':' read -r modules status; do \
	        echo "$$modules" | { \
	            IFS=',/ ' read -r modules_name modules_version \
	                              kernel_version kernel_arch ignore; \
	            if [ -z "$$kernel_version" ]; then \
	                dkms remove \
	                            "$$modules_name/$$modules_version" \
	                            --all; \
	            else \
	                dkms remove \
	                            "$$modules_name/$$modules_version" \
	                            -k "$$kernel_version/$$kernel_arch"; \
	            fi; \
	        } \
	    done

dkms_install: dkms_modules_install depmod_conf_install dracut_conf_install xorg_conf_install tools_install

dkms_uninstall: tools_uninstall xorg_conf_uninstall dracut_conf_uninstall depmod_conf_uninstall dkms_modules_uninstall

dist:
	git archive --format=tar.gz --prefix=$(PACKAGE)/ HEAD > $(PACKAGE).tar.gz