Build 在许多驱动程序文件夹中创建内置.o

Build 在许多驱动程序文件夹中创建内置.o,build,linux-kernel,makefile,Build,Linux Kernel,Makefile,我正在用我的自定义驱动程序构建一个内核。在一个成功的构建之后,我发现了许多内置的.o文件。有人能详细说明一下这些文件是如何在这里结束的吗。我只能怀疑这些文件与更高级别的makefiles有关。内置.o文件是内核的每个目录目标的编译产物,而不是作为模块构建的 请参阅Documentation/kbuild/makefiles.txt 每个子目录都有一个kbuild Makefile,它执行从上面传下来的命令。kbuild生成文件使用信息 从.config文件构造kbuild使用的各种文件列表 构建

我正在用我的自定义驱动程序构建一个内核。在一个成功的构建之后,我发现了许多内置的.o文件。有人能详细说明一下这些文件是如何在这里结束的吗。我只能怀疑这些文件与更高级别的makefiles有关。

内置.o文件是内核的每个目录目标的编译产物,而不是作为模块构建的

请参阅Documentation/kbuild/makefiles.txt

每个子目录都有一个kbuild Makefile,它执行从上面传下来的命令。kbuild生成文件使用信息 从.config文件构造kbuild使用的各种文件列表 构建任何内置或模块化目标

---3.1目标定义

---3.2内置对象目标-obj-y

    The kbuild Makefile specifies object files for vmlinux
    in the $(obj-y) lists.  These lists depend on the kernel
    configuration.

    Kbuild compiles all the $(obj-y) files.  It then calls
    "$(LD) -r" to merge these files into one built-in.o file.
    built-in.o is later linked into vmlinux by the parent Makefile.
    The kbuild Makefile specifies object files for vmlinux
    in the $(obj-y) lists.  These lists depend on the kernel
    configuration.

    Kbuild compiles all the $(obj-y) files.  It then calls
    "$(LD) -r" to merge these files into one built-in.o file.
    built-in.o is later linked into vmlinux by the parent Makefile.