NAME = counter obj-m += $(NAME).o all: $(NAME).ko $(NAME).dtbo echo Builded Device Tree Overlay and kernel module $(NAME).ko: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules $(NAME).dtbo: $(NAME).dts dtc -@ -I dts -O dtb -o $@ $< clean: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean rm -rf $(NAME).dtbo load: sudo dtoverlay -d . $(NAME).dtbo @echo "Overlay loaded" sudo insmod ./$(NAME).ko @echo "LKM loaded" unload: sudo rmmod ./$(NAME).ko @echo "LKM unloaded" sudo dtoverlay -R $(NAME) @echo "Overlay unloaded" list: sudo dtoverlay -l