68 lines
1.9 KiB
Makefile
68 lines
1.9 KiB
Makefile
DRIVERDIR?=`pwd`/driver
|
|
MODULEDIR?=/lib/modules/`uname -r`/kernel/drivers/usb
|
|
|
|
DRIVER_CFLAGS ?= -DFIXEDPT_BITS=$(shell getconf LONG_BIT)
|
|
|
|
build:
|
|
$(MAKE) DRIVER_CFLAGS="$(DRIVER_CFLAGS)" -C $(DRIVERDIR)
|
|
|
|
build_debug: override DRIVER_CFLAGS += -g -DDEBUG
|
|
build_debug: build
|
|
|
|
test:
|
|
$(MAKE) -C $(DRIVERDIR) test
|
|
test_debug:
|
|
$(MAKE) -C $(DRIVERDIR) test_debug
|
|
|
|
install_debug: build_debug install
|
|
|
|
install: build
|
|
@sudo insmod $(DRIVERDIR)/maccel.ko;
|
|
|
|
@mkdir -p $(MODULEDIR)
|
|
@sudo cp -v $(DRIVERDIR)/*.ko $(MODULEDIR);
|
|
@sudo chown -v root:root $(MODULEDIR)/*.ko;
|
|
sudo groupadd -f maccel;
|
|
sudo depmod;
|
|
sudo chown -v :maccel /sys/module/maccel/parameters/* /dev/maccel;
|
|
sudo chmod g+r /dev/maccel;
|
|
ls -l /sys/module/maccel/parameters/*
|
|
|
|
uninstall: clean
|
|
@sudo rm -fv $(MODULEDIR)/maccel.ko
|
|
@sudo rmmod maccel
|
|
|
|
reinstall: uninstall
|
|
@sudo make DRIVER_CFLAGS=$(DRIVER_CFLAGS) install
|
|
|
|
reinstall_debug: uninstall
|
|
@sudo make DRIVER_CFLAGS=$(DRIVER_CFLAGS) install_debug
|
|
|
|
dev_cli:
|
|
cargo watch -x 'run'
|
|
|
|
build_cli:
|
|
cargo build --bin maccel --release
|
|
|
|
install_cli: build_cli
|
|
sudo install -m 755 target/release/maccel /usr/local/bin/maccel
|
|
|
|
uninstall_cli:
|
|
@sudo rm -f /usr/local/bin/maccel
|
|
|
|
udev_install:
|
|
sudo install -m 644 -v -D `pwd`/udev_rules/99-maccel.rules /usr/lib/udev/rules.d/99-maccel.rules
|
|
sudo install -m 755 -v -D `pwd`/udev_rules/maccel_param_ownership_and_resets /usr/lib/udev/maccel_param_ownership_and_resets
|
|
|
|
udev_uninstall:
|
|
@sudo rm -f /usr/lib/udev/rules.d/99-maccel*.rules /usr/lib/udev/maccel_*
|
|
sudo udevadm control --reload-rules
|
|
|
|
udev_trigger: udev_install
|
|
udevadm control --reload-rules
|
|
udevadm trigger --subsystem-match=usb --subsystem-match=input --subsystem-match=hid --attr-match=bInterfaceClass=03 --attr-match=bInterfaceSubClass=01 --attr-match=bInterfaceProtocol=02
|
|
|
|
clean:
|
|
@rm -rf src pkg maccel maccel*.zst maccel-dkms*.log*
|
|
$(MAKE) -C $(DRIVERDIR) clean
|