一、编写Makefile
#通过外部传参,指定编译驱动的文件 MODNAME ?= demo #使用外部传参选择编译框架 ARCH ?= arm ifeq ($(ARCH),arm) #arm架构linux内核路径 KERNEDDIR := /home/ubuntu/linux-5.10.61/ else #x86架构linux内核路径 KERNEDDIR := /lib/modules/$(shell uname -r)/build endif #打开终端,执行pwd命令 PWD := $(shell pwd) all: @#-C:跳转到指定的目录下,读取当前目录下的Makefile文件 @#M:回到当前驱动目录下,读取当前目录下的Makefile文件 make -C $(KERNEDDIR) M=$(PWD) modules clean: make -C $(KERNEDDIR) M=$(PWD) clean #添加驱动被编译文件 obj-m := $(MODNAME).o