structure and first prototype link successful

This commit is contained in:
Tiago Batista Cardoso
2026-02-05 17:03:52 +01:00
parent a1ff7c701e
commit 4be86baf85
11 changed files with 1395 additions and 156 deletions

43
Makefile Normal file
View File

@@ -0,0 +1,43 @@
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