谁能向我解释这个命令(make ARCH)?

时间:2010-12-12 08:42:11

标签: android linux build makefile

make ARCH=arm msm_defconfig
make ARCH=arm CROSS_COMPILE=$SOURCE_FOLDER/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- zImage -j4

我想构建android内核,我确实找到了一些教程。我找到了上面的命令,我想知道这个命令是如何工作的?所以,如果有人可以解释它或给我一些参考,那就更好了。

提前致谢!

2 个答案:

答案 0 :(得分:2)

make ARCH=arm将指定这是ARM体系结构的预期构建,因为您在非ARM系统上进行交叉编译。 CROSS_COMPILE指定要附加到工具的名称,以便使用正确的工具生成生成的目标文件和二进制文件。

ARCH=arm实际上是一个本地环境变量(缺少官方术语) - 您可以将其设置为环境变量。与CROSS_COMPILE

相同
export ARCH=arm
export CROSS_COMPILE="..."
make -j4 zImage

虽然如果您这样做,可能会影响您执行的所有make命令的环境。

编辑唯一有用的资源,可以在任何程度上解释这两个标志,因为其他人基本上都会说要复制他们所做的事情而不完全解释它:http://book.opensourceproject.org.cn/embedded/oreillybuildembed/opensource/belinuxsys-chp-5-sect-3.html

答案 1 :(得分:1)

make的{​​{1}}参数将转换为makefile中的变量。 =告诉make运行多个并行进程来处理构建。剩下的参数是构建目标。有关更多详细信息,请参阅当前目录中的-j以及GNU make文档。