переменная тега make для ядра Linux - PullRequest
0 голосов
/ 11 июня 2018

Исходный код ядра Linux может использовать make tags, чтобы получить тег для редактора.В scripts / tags.sh , line7 и line8 говорится, что «используются следующие переменные окружения: ARCH, SUBARCH, SRCARCH, srctree, src, obj» Iхочу спросить, что означают эти переменные?

Я уже прочитал эту статью , но в ней просто упоминаются две переменные, SRCARCH и SUBARCH.

1 Ответ

0 голосов
/ 13 июня 2018

Переменные, которые вы должны использовать

Следующие переменные могут быть переданы в tags.sh (на самом деле вы должны передать их в команду make tags cscope, и Makefile передаст их в tags.sh для вас).

  1. ARCH: какую архитектуру индексировать.Вы можете увидеть список всех архитектур, просто набрав ls -l arch/ в дереве исходного кода ядра.

  2. SUBARCH: значение этой переменной зависит от вашей архитектуры:

    • если ARCH=arm, SUBARCH будет использоваться для определения каталогов arch/arm/mach-* и arch/arm/plat-*, и эти каталоги будут проиндексированы
    • , если ARCH=um, используйте SUBARCH, чтобы указать, какая архитектуравы действительно хотите использовать в своем пользовательском режиме Linux (например, SUBARCH=arm или SUBARCH=x86)
    • для остальных архитектур, вы можете опустить эту переменную
  3. ALLSOURCE_ARCHS: используйте это для индексации более чем одной архитектуры.Как ALLSOURCE_ARCHS="x86 mips arm" или ALLSOURCE_ARCHS="all".Если вы хотите индексировать только одну архитектуру, пропустите эту переменную и используйте ARCH.

  4. COMPILED_SOURCE: установите эту переменную в 1, если вы хотите индексировать только фактически скомпилированные исходные файлы,Если вы хотите проиндексировать все исходные файлы, не устанавливайте эту переменную.

  5. O= (на самом деле это параметр Makefile): используйте абсолютные пути (полезно, если вы хотите загрузить созданный cscope /Индексные файлы ctags вне директории ядра, например, для разработки модулей ядра вне дерева).Если вы хотите использовать относительные пути (то есть вы будете заниматься разработкой только в dir ядра), просто опустите этот параметр.

Переменные, к которым не нужно прикасаться

  1. SRCARCH: устанавливается из переменной ARCH в Makefile и затем передается в скрипт.Вам, вероятно, не нужно возиться с этим, просто установите ARCH переменную правильно

  2. srctree: путь к исходному дереву ядра.Эта переменная будет автоматически передана из Makefile, если вы используете этот скрипт через make cscope tags.

  3. src и obj переменные: они больше не используются scripts/tags.sh,Он был заменен использованием переменной KBUILD_SRC, которая предоставляется из Makefile автоматически, когда вы предоставляете ему параметр O=....

Использование

В основном, я 'рекомендую использовать только scripts/tags.sh через make вызов.Пример:

$ make O=. ARCH=arm SUBARCH=omap2 COMPILED_SOURCE=1 cscope tags

или

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