arm架构
代码:
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命令查看
x86架构
代码:
ARCH?=arm
NAME?=demo
ifeq ($(ARCH),arm)
#定义一个变量,存放linux内核源码的路径,编译完成之后