obj-m += libusbMod.o KDIR := /lib/modules/$(shell uname -r)/build PWD := $(shell pwd) CC := gcc CFLAGS := -Wall -O2 LIBS := -lusb-1.0 # 默认目标:同时编译内核模块和用户程序 all: libusbMod.ko main # 编译内核模块 libusbMod.ko: make -C $(KDIR) M=$(PWD) modules # 编译用户态程序 main main: main.c $(CC) $(CFLAGS) -o $@ $< $(LIBS) # 清理所有生成文件 clean: make -C $(KDIR) M=$(PWD) clean $(RM) main # 加载模块 load: sudo insmod libusbMod.ko # 卸载模块 unload: sudo rmmod libusbMod