代码:
- ARCH?=arm
- NAME?=demo
- ifeq ($(ARCH),arm)
- #定义一个变量,存放linux内核源码的路径,编译完成之后,生成ARM架构,在开发板运行
- KERNEDIR=/home/ubuntu/linux-5.10.61
- endif
- KERNEDIR?=/lib/modules/$(shell uname -r)/build
- #PWD是自己定义的一个变量,$(shell pwd)开启一个终端,执行pwd命令,将执行的结果赋值给PWD变量
- PWD:=$(shell pwd)
- all:
- make -C $(KERNEDIR) M=$(PWD) modules
- @#-C:指定跳转到linux内核源码目录下,读取内核源码顶层目录下的Makefile文件,然后执行make
- @# M=$(PWD):表示回到当前目录下,继续读取当前目录下的Makiefile文件
- @#相当于在内核源码顶层目录下执行make M=$(PWD) modules
- clean:
- make -C $(KERNEDIR) M=$(PWD) clean
- #指定模块化方式编译的文件
- obj-m:=$(NAME).o
file命令查看

代码:
- ARCH?=arm
- NAME?=demo
- ifeq ($(ARCH),arm)
- #定义一个变量,存放linux内核源码的路径,编译完成之后,生成ARM架构