make[1]: *** No rule to make target `modules'. Stop.

来源:互联网 发布:商家给淘宝开消费积分 编辑:程序博客网 时间:2024/05/25 08:15

按照教程写hello world模块make时出现

make[1]: *** No rule to make target `modules'.  Stop.

错误

原makefile为

#!/bin/bash
#通知编译器我们要编译模块的哪些源码
obj-m += mini_linux_module.o 


#源码目录变量,这里用户需要根据实际情况选择路径
#作者是将Linux的源码拷贝到目录/media/lichee/linux-3.4下并解压的
KDIR := /media/lichee/linux-3.4


#当前目录变量
PWD ?= $(shell pwd)


#make命名默认寻找第一个目标
#make -C就是指调用执行的路径
#$(KDIR)Linux源码目录,作者这里指的是/media/lichee/linux-3.4
#$(PWD)当前目录变量
#modules要执行的操作
all:
make -C $(KDIR) M=$(PWD) modules

#make clean执行的操作是删除后缀为o的文件
clean:
rm -rf *.o


改为


#!/bin/bash
#通知编译器我们要编译模块的哪些源码
obj-m += mini_linux_module.o 


#源码目录变量,这里用户需要根据实际情况选择路径
#作者是将Linux的源码拷贝到目录/media/lichee/linux-3.4下并解压的
KDIR := /media/lichee/linux-3.4


#当前目录变量
PWD ?= $(shell pwd)


#make命名默认寻找第一个目标
#make -C就是指调用执行的路径
#$(KDIR)Linux源码目录,作者这里指的是/media/lichee/linux-3.4
#$(PWD)当前目录变量
#modules要执行的操作

build: kernel_modules
kernel_modules:
make -C $(KDIR) M=$(PWD) modules

#make clean执行的操作是删除后缀为o的文件
clean:
rm -rf *.o


其实就是指明要执行的命令后编译就能通过了

0 0
原创粉丝点击