structure and first prototype link successful
This commit is contained in:
43
Makefile
Normal file
43
Makefile
Normal 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
|
||||
Reference in New Issue
Block a user