10

如果只是做make,请在linux内核编译中查看

make ARCH=xyz uImage

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

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

4

1 回答 1

14

尝试使用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.
于 2013-04-12T13:26:27.780 回答