MODULE_NAME := ch349_driver obj-m := $(MODULE_NAME).o SRC_DIR := src BUILD_DIR := build KDIR := /lib/modules/$(shell uname -r)/build $(MODULE_NAME)-objs := $(SRC_DIR)/ch349_driver.o ccflags-y := -std=gnu11 -Wno-declaration-after-statement .PHONY: all clean install uninstall all: @mkdir -p $(BUILD_DIR) $(MAKE) -C $(KDIR) M=$(PWD) modules @mv $(MODULE_NAME).ko $(BUILD_DIR)/ 2>/dev/null || true @rm -f $(MODULE_NAME).o $(MODULE_NAME).mod.o $(MODULE_NAME).mod.c $(MODULE_NAME).mod @rm -f $(SRC_DIR)/*.o $(SRC_DIR)/.*.cmd $(SRC_DIR)/*.mod.c @rm -f modules.order Module.symvers .*.cmd @rm -rf .tmp_versions @echo "Module compiled: $(BUILD_DIR)/$(MODULE_NAME).ko" clean: @rm -rf $(BUILD_DIR) @rm -f $(MODULE_NAME).o $(MODULE_NAME).ko $(MODULE_NAME).mod.o $(MODULE_NAME).mod.c $(MODULE_NAME).mod @rm -f $(SRC_DIR)/*.o $(SRC_DIR)/.*.cmd $(SRC_DIR)/*.mod.c @rm -f modules.order Module.symvers .*.cmd *.o *.ko @rm -rf .tmp_versions @echo "Cleaned" install: all sudo insmod $(BUILD_DIR)/$(MODULE_NAME).ko @echo "Module loaded" uninstall: sudo rmmod $(MODULE_NAME) @echo "Module unloaded" # Pour générer compile_commands.json avec bear sans casser le build bear: bear -- $(MAKE) clean all