Может кто-нибудь объяснить мне эту команду (сделать ARCH)? - PullRequest
0 голосов
/ 12 декабря 2010
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 ]

2 голосов
/ 12 декабря 2010

make ARCH=arm будет указывать, что это предназначенная сборка для архитектуры ARM, поскольку вы выполняете кросс-компиляцию в системе без ARM. CROSS_COMPILE указывает имя для добавления к инструментам, чтобы правильные инструменты использовались для создания ваших результирующих объектных файлов и двоичных файлов.

ARCH=arm на самом деле является локальной переменной среды (из-за отсутствия официального термина) - вы могли бы установить ее как переменную среды. То же самое с CROSS_COMPILE

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

Хотя, если вы это сделаете, вы можете повлиять на вашу среду для всех make выполненных команд.

edit Единственный ресурс, который, казалось, пригодился для объяснения этих двух флагов в любой степени, поскольку все остальные в основном говорят копировать то, что они делают, не объясняя это полностью:

1 голос
/ 12 декабря 2010

Параметры в make с = преобразуются в переменные в make-файле.-j указывает make запускать несколько параллельных процессов для обработки сборки.Оставшийся аргумент - цель сборки.См. Как Makefile в текущем каталоге, так и документацию GNU make для более подробной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...