曲径通幽论坛

标题: Makefile.build [打印本页]

作者: beyes    时间: 2011-5-16 19:23
标题: Makefile.build
内核版本:2.6.38

1. src := $(obj)
$(obj) 是从外部传递进来的参数。

2. kbuild-dir
[Plain Text] 纯文本查看 复制代码
kbuild-dir := $(if $(filter /%,$(src)),$(src),$(srctree)/$(src))


kbuild-dir 是要编译目录的绝对路径,路径 $(src) 通过顶层 Makefile 中的 $(build) 变量传递进来,如:
$(vmlinux-dirs): prepare scripts
        $(Q)$(MAKE) $(build)=$@

3. kbuild-file
[Plain Text] 纯文本查看 复制代码
kbuild-file := $(if $(wildcard $(kbuild-dir)/Kbuild),$(kbuild-dir)/Kbuild,$(kbuild-dir)/Makefile)


把要编译的目录下的 Makefile (Kbuild 文件就是 kbuild Makefile)包含进来,如果要编译的目录下有 Kbuild 就用 Kbuild,Kbuild 优先,没有的话就用 Makefile 。

这里的 wildcard $(kbuild-dir)/Kbuild 表示测试 Kbuild 文件有没有存在,如果已经存在,wildcard 函数就会返回存在的文件。




欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2