2012-11-23 22:31:42 +00:00
|
|
|
KERNEL_TREE := /home/richard/raspberrypi/linux
|
2012-11-11 02:03:47 +00:00
|
|
|
INSTALL_PATH := /lib/modules/$(shell /bin/uname -r)/kernel/drivers/misc/servoblaster
|
2012-11-23 22:31:42 +00:00
|
|
|
#CROSS_OPTS := CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- ARCH=arm
|
|
|
|
CROSS_OPTS :=
|
2012-08-19 17:11:33 +01:00
|
|
|
|
2013-09-01 14:58:14 +01:00
|
|
|
.PHONY: all install install_autostart uninstall
|
|
|
|
all: servoblaster.ko
|
2012-08-19 17:11:33 +01:00
|
|
|
|
|
|
|
servoblaster.ko: servoblaster.c servoblaster.h
|
2012-08-30 21:58:53 +01:00
|
|
|
@[ -d ${KERNEL_TREE} ] || { echo "Edit Makefile to set KERNEL_TREE to point at your kernel"; exit 1; }
|
|
|
|
@[ -e ${KERNEL_TREE}/Module.symvers ] || { echo "KERNEL_TREE/Module.symvers does not exist, you need to configure and compile your kernel"; exit 1; }
|
2012-11-23 22:31:42 +00:00
|
|
|
make -C ${KERNEL_TREE} ${CROSS_OPTS} M=$(PWD) modules
|
2012-08-19 17:11:33 +01:00
|
|
|
|
2012-11-11 02:03:47 +00:00
|
|
|
install: servoblaster.ko
|
2012-11-11 11:07:01 +00:00
|
|
|
@sudo cp $(PWD)/udev_scripts/servoblaster /lib/udev
|
|
|
|
@sudo cp $(PWD)/udev_scripts/20-servoblaster.rules /etc/udev/rules.d
|
|
|
|
@sudo chmod +x /lib/udev/servoblaster
|
2012-11-11 20:48:24 +00:00
|
|
|
@echo "ServoBlaster udev rules complete."
|
2012-11-11 19:10:22 +00:00
|
|
|
|
|
|
|
install_autostart: install
|
2012-11-11 21:50:33 +00:00
|
|
|
@echo "Enabling ServoBlaster autostart on boot."
|
2012-11-11 14:00:43 +00:00
|
|
|
@sudo mkdir -p $(INSTALL_PATH)
|
2012-11-11 21:50:33 +00:00
|
|
|
@sudo cp $(PWD)/servoblaster.ko $(INSTALL_PATH)
|
2012-11-11 14:08:40 +00:00
|
|
|
@if ! grep servoblaster /etc/modules > /dev/null 2>&1; then sudo sed -i '$$a\servoblaster' /etc/modules; fi
|
2012-11-11 13:17:30 +00:00
|
|
|
@sudo depmod -a
|
2012-11-11 19:10:22 +00:00
|
|
|
@echo "ServoBlaster will now auto start on next boot."
|
|
|
|
@echo "The following commands will start and stop the driver:"
|
|
|
|
@echo " modprobe servoblaster"
|
|
|
|
@echo " modprobe -r servoblaster"
|
2012-11-11 02:03:47 +00:00
|
|
|
|
2013-09-01 14:58:14 +01:00
|
|
|
uninstall:
|
|
|
|
@modprobe -r servoblaster
|
|
|
|
@sudo rm -f /lib/udev/servoblaster
|
|
|
|
@sudo rm -f /etc/udev/rules.d/20-servoblaster.rules
|
|
|
|
@sudo rm -f $(INSTALL_PATH)/servoblaster.ko
|
|
|
|
@sudo depmod -a
|
|
|
|
|
2012-08-19 17:11:33 +01:00
|
|
|
clean:
|
2012-11-23 22:31:42 +00:00
|
|
|
make -C ${KERNEL_TREE} ${CROSS_OPTS} M=$(PWD) clean
|
2012-08-19 17:11:33 +01:00
|
|
|
|