NAME = counter OBJS = init.o leds.o ls7366r.o trigger.o io.o KDIR := /lib/modules/$(shell uname -r)/build DTC_FLAGS := -@ -I dts -O dtb obj-m += $(NAME).o $(NAME)-objs := $(OBJS) all: $(NAME).ko $(NAME).dtbo echo Builded Device Tree Overlay and kernel module $(NAME).ko: make -C $(KDIR) M=$(PWD) modules $(NAME).dtbo: $(NAME).dts dtc $(DTC_FLAGS) -o $@ $< clean: make -C $(KDIR) 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