操作系统:内核编译的Makefile

ifneq ($(KERNELRELEASE),)
	obj-m := kthread_stu_id.o
else
	KERNELDIR ?=/root/raspberrypi-kernel-openEuler-22.03-LTS-SP2
	PWD := $(shell pwd)
default:
	$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
endif

.PHONY:clean
clean:
	-rm *.mod.c *.o *.order *.symvers *.ko

1、ifneq ($(KERNELRELEASE),)

这一行检查KERNELRELEASE变量是否已经被定义。在内核构建系统调用Makefile时,它会定义KERNELRELEASE变量。因此,这个条件用来区分是直接调用Makefile(比如用户在命令行上输入make时)还是从内核的构建系统调用。

2、obj-m := stu.o

如果KERNELRELEASE被定义,说明Makefile是由内核构建系统调用的。在这种情况下,设置obj-m变量指示要构建名为stu.o的模块(这将生成stu.ko内核模块文件)。

3、else

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值