我写了一个hello.c:
#include <linux/init.h>
#include <linux/moudle.h>
static int hello_init(void)
{
printk(KERN_ALERT "Hello, World\n");
return 0;
}
static void hello_exit(void)
{
printk(KERN_ALERT "GoodBye, cruel Workd!\n");
}
module_init(hello_init);
module_exit(hello_exit);
module_LICENSE("GPL");
module_AUTHOR("ChangZhi");
这是Makefile:
obj-m := hello.o
KERNEL_DIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
make -C $(KERNEL_DIR) SUBDIRS=$(PWD) modules
#clean:
#rm *.o *.ko *.mod.c
.PHONY:clean
当我运行make
时,shell会显示make: Nothing to be done for
默认&#39; .`。有人能帮助我吗?非常感谢!
答案 0 :(得分:4)
根据ymonad的说法,TAB
之前需要make -C
default:
make -C $(KERNEL_DIR) SUBDIRS=$(PWD) modules