在Linux内核编译中将.o文件放在单独的文件夹中

Jee*_*tel 5 c linux compilation linux-kernel

如果只是make,请参阅linux内核编译

make ARCH=xyz uImage
Run Code Online (Sandbox Code Playgroud)

然后它将根据你的.conf文件编译文件,并在你的.c文件所在的同一文件夹中创建.o或.ko.

所以有什么方法可以强制编译,以便所有.o和.ko都可以在我指定的不同文件夹中

The*_*sey 8

尝试使用 make O=/path/to/mydir

这是内核Makefile的文档:

# kbuild supports saving output files in a separate directory.
# To locate output files in a separate directory two syntaxes are supported.
# In both cases the working directory must be the root of the kernel src.
# 1) O=
# Use "make O=dir/to/store/output/files/"
#
# 2) Set KBUILD_OUTPUT
# Set the environment variable KBUILD_OUTPUT to point to the directory
# where the output files shall be placed.
# export KBUILD_OUTPUT=dir/to/store/output/files/
# make
#
# The O= assignment takes precedence over the KBUILD_OUTPUT environment
# variable.
Run Code Online (Sandbox Code Playgroud)

  • 谢谢工作..我需要执行 distclean 然后需要使用此选项创建 .conf 然后使用此选项创建 uImage (2认同)