【问题标题】:Makefile for kernel module内核模块的 Makefile
【发布时间】:2014-04-23 02:20:56
【问题描述】:

您好,我正在尝试编写一个“Hello World”内核模块。 我编写了以下 C 代码: 模块514.c

#include<linux/module.h>
#include<linux/kernel.h>
#include<linux/init.h>


MODULE_LICENSE("GPL");
MODULE_AUTHOR("BMC")
MODULE_DESCRIPTION(" My module]")


static int __init module514(void){
    printk(KERN_INFO"Hello World");
    return 0;
    }

static void __exit module514_cleanup(void){
    printk(KERN_INFO"unloaded")
    } 


  module_init(module514);
  module_exit(module514_cleanup);

然后创建以下 Makefile

obj-m += Module514.o

all:
    make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules

clean:
    make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean

但是当我给 make 我得到以下消息。

make: Nothing to be done for `all'.

我做错了什么。

【问题讨论】:

  • 你能发布输出“make -n”吗?你的代码也不会编译,分号;不见了
  • @Sasi 对“make -n”的响应是相同的“make:Nothing to be done for `all'。”。谢谢更正代码。

标签: linux-kernel makefile


【解决方案1】:

这里的问题似乎是我的 Vim 配置造成的。当我使用 TAB 缩进时,生成的文件空间被插入而不是 TAB。一旦我使用不同的编辑器更正了这个问题,所有文件都会出现。

PS:makefile 也需要用大写 M = Makefile 命名

【讨论】:

猜你喜欢
  • 2020-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-05
  • 1970-01-01
相关资源
最近更新 更多