2011-03-23 150 views
-1
make -C $(KERNEL_DIR) SUBDIRS=pwd` modules 

有人可以详细说明这一点吗?这个命令做什么?

+0

你确定那个反衬(')? – Beta 2011-03-23 04:03:43

+2

我很确定他的意思是'pwd \'。 – 2011-03-23 04:04:26

+0

可能重复的[为什么可以在这里工作?](http://stackoverflow.com/questions/5388224/why-can-make-work-here) – shodanex 2011-03-23 09:53:21

回答

1

-C表示“在开始make之前切换到此目录”。 SUBDIRS是Linux内核make系统使用的变量。 SUBDIRS =`pwd`表示内核makefiles应该在当前目录中查找,因为pwd表示“打印工作目录”。并且modules意味着制作模块。

它可能使用内核make系统来构建一个out-of-tree模块。树外意味着内核不附带的内核模块。

事实上,我似乎记得看到这个命令用作Nvidia二进制模块安装程序的一部分。

+0

所以要构建一个内核模块,只需要'SUBDIRS',而不是特定的文件?它如何知道要编译哪些模块? – compiler 2011-03-23 05:33:25

+0

,因为这一行是Makefile的一部分,并且目标位于Makefile – shodanex 2011-03-23 09:53:03