分页: 1 / 1

[已经解决]这段makefile怎么理解

发表于 : 2007-10-05 4:06
fyplinux
Hi, 下面的代码来自一个makefile, 我新学这个, 请指教

代码: 全选

obj-m += hello.o

all:
	make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules

clean:
	make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean

发表于 : 2007-10-06 5:07
fyplinux
我想是我的原因, 我没有写清楚文件的来源。 这个文件是编译内核(kernel)的模块(modules)是用到的, 来自http://tldp.org/LDP/lkmpg/2.6/html/x181.html

但我现在找到了答案:

第一行是定义了一个变量obj-m

all命令转去执行另外一个makefile, 这个makefile在/lib/modules/<your kernel version>/build目录下, 由-C选项指定, M是要传进去的变量, 这个变量在makefile里已经指定了的, M的直由运行shell命令pwd得到。最后的modules是要执行的命令

clean命令和all命令类似