当前位置: 技术问答>linux和unix
关于最简单的驱动的makefile
来源: 互联网 发布时间:2016-09-30
本文导语: 我自己按照参考写了个最简单的驱动,可是makefile提示Nothing to be done for `modules'. 驱动和makefile如下: hello.c: 1 #include 2 #include 3 #include 4 5 MODULE_LICENCE("Dual BSD/GPL"); 6 7 static int hello_init(void...
我自己按照参考写了个最简单的驱动,可是makefile提示Nothing to be done for `modules'.
驱动和makefile如下:
hello.c:
1 #include
2 #include
3 #include
4
5 MODULE_LICENCE("Dual BSD/GPL");
6
7 static int hello_init(void)
8 {
9 printk(KERN_INFO "hello worldn");
10 return 0;
11 }
12
13 static void hello_exit(void)
14 {
15 printk(KERN_INFO "goodbye hellon");
16 }
17
18 module_init(hello_init);
19 module_exit(hello_exit);
makefile:
1 obj-m := hello.o
2 KERNELDIR := /lib/modules/2.6.32-21-generic/bulid
3 PWD := $(shell pwd)
4
5 modules:
6 $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
7
8 modules_install:
9 $(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install
做了一段时间的应用以后驱动的问题有些遗忘~该如何处理?
驱动和makefile如下:
hello.c:
1 #include
2 #include
3 #include
4
5 MODULE_LICENCE("Dual BSD/GPL");
6
7 static int hello_init(void)
8 {
9 printk(KERN_INFO "hello worldn");
10 return 0;
11 }
12
13 static void hello_exit(void)
14 {
15 printk(KERN_INFO "goodbye hellon");
16 }
17
18 module_init(hello_init);
19 module_exit(hello_exit);
makefile:
1 obj-m := hello.o
2 KERNELDIR := /lib/modules/2.6.32-21-generic/bulid
3 PWD := $(shell pwd)
4
5 modules:
6 $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
7
8 modules_install:
9 $(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install
做了一段时间的应用以后驱动的问题有些遗忘~该如何处理?
|
ifneq ($(KERNELRELEASE),)
obj-m := hello.o
else
KERNELDIR ?= /lib/modules/($shell uname -r)/build
PWD ?= $(shell pwd)
default:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
endif
|
下面就是一个简单的makefile
ifneq ($(KERNELRELEASE),)
obj-m :=hello.o
else
KDIR:= /lib/modules/`uname -r`/build
all:
make -C $(KDIR) M=$(PWD) modules
clean:
rm -f *.ko *.o *.mod.c *.symvers
endif
ifneq ($(KERNELRELEASE),)
obj-m :=hello.o
else
KDIR:= /lib/modules/`uname -r`/build
all:
make -C $(KDIR) M=$(PWD) modules
clean:
rm -f *.ko *.o *.mod.c *.symvers
endif