make -C $KDIR M=`pwd` modules
The modules target is implied when no target is given.
Same functionality as if no target was specified.
See description above.
--
[m [1;34m※ 来源:·水木社区 newsmth.net·[FROM: 124.65.129.*] [m
【 在 TestKing (TestKing) 的大作中提到: 】
: 编译内核模块,“make -C $KDIR M=`pwd`”和“make -C $KDIR M=`pwd` modules”的区别是什么?
: 我看makefiles.txt这篇文档里的说明分别是如下,不过我还是没看明白他们有什么区别,自己
: 拿了个模块示例代码用两种方式编译了一下,也没发现什么不同,请教一下各位,谢谢。
: ...................
--
[m [1;32m※ 来源:·水木社区 newsmth.net·[FROM: 118.146.163.*] [m
【 在 solofox (孤独的狐狸走在寂寞的路上) 的大作中提到: 】
: 看意思就是一样地。如果没有给出目标,那么隐含地指“modules”。
--
[m [1;34m※ 来源:·水木社区 newsmth.net·[FROM: 124.200.35.*] [m
【 在 luohandsome (天佑四川|为灾区人民祈祷) 的大作中提到: 】
: make 编译内核,
: make modules 编译内核模块
--
[m [1;36m※ 来源:·水木社区 newsmth.net·[FROM: 221.223.229.*] [m
编译vmlinux、还是编译modules,和M=...无关。 M=$(shell pwd)只是告诉
kbuild,我在编译一个external module(不在内核tree里的)。
此外,如果我们想重新编译内核的一部分,例如drivers/net目录下的,可以:
$ make M=drivers/net clean
$ make M=drivers/net