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

时间:2013-04-12 11:03:10

标签: c linux compilation linux-kernel

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

make ARCH=xyz uImage

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

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

1 个答案:

答案 0 :(得分: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.