- 论坛徽章:
- 0
|
本帖最后由 易卢米纳缇 于 2010-08-06 16:26 编辑
我是初学者,想编译一个hello.c的module文件,makefile内容是:
ifneq ($(KERNELRELEASE),)
obj-m:=hello.o
else
KERNELDIR:=/lib/modules/$(shell uname -r)/build
PWD:=$(shell pwd)
default:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
clean:
rm -rf *.o *.mod.c *.mod.o *.ko
endif
但编译后提示:nothing to be done for default.
文件夹中只有一个hello.c文件和这个Makefile
运行后没有生成.ko文件,也没有任何编译提示信息,是差在哪里呢?请高手请指点一下吧。 拜谢啦。
附:hello.c内容
#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void)
{
printk(KERN_INFO " Hello World enter\n");
return 0;
}
static void hello_exit(void)
{
printk(KERN_INFO " Hello World exit\n ");
}
module_init(hello_init);
module_exit(hello_exit);
MODULE_AUTHOR("Song Baohua");
MODULE_DESCRIPTION("A simple Hello World Module");
MODULE_ALIAS("a simplest module"); |
|