第二章-Linux内核及内核编程.ppt

第二章-Linux内核及内核编程

Linux内核及编程 Makefile的作用 顶层Makefile按照一定的顺序组织文件,根据连接脚本arc/$(ARCH)/ kernel/ vmlinux.lds生成内核映象文件vmlinux。 obj–y用来定义哪些文件被编进( built-in)内核。 obj-m用来定义哪些文件被编译成可加载模块( Loadable module )。 lib-y用来定义哪些文件被编成库文件。 obj-y、obj-m还可以用来指定要进入的下一层子目录。 Linux内核及编程 Makefile的主要语法 目标定义 定义哪些内容作为模块编译,哪些要编译并连接进内核。 更常见的做法:根据.config文件中的CONFIG变量来决定文件编译方式,如: obj-y += foo.c:表示要由foo.c或者foo.s文件编译得到foo.o并连接进内核。 obj-$ (CONFIG_ISDN) += isdn.o obj-$(CONFIG_ISDN_PPP_BSDCOMP)+=isdn_bsdc.o Linux内核及编程 Makefile的主要语法 多文件模块的定义 采用模块名加-y或-bojs后缀来定义模块的组成文件。 目录层次迭代 当CONFIG_EXT2_FS的值为y或m时,kbuild将会把ext2目录列入向 下迭代的目标中。 obj-$(CONFIG_EXT2_FS) +=

文档评论(0)

1亿VIP精品文档

相关文档