Makefile make:对于`default'没什么可做的

时间:2014-04-04 04:24:01

标签: linux makefile kernel

我写了一个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; .`。有人能帮助我吗?非常感谢!

1 个答案:

答案 0 :(得分:4)

根据ymonad的说法,TAB之前需要make -C

default:
    make -C $(KERNEL_DIR) SUBDIRS=$(PWD) modules