Разверните макросы одного файла при компиляции ядра Linux - PullRequest
0 голосов
/ 03 июня 2019

Я заинтересован в расширении макросов одного файла ядра Linux (arch / x86 / kernel / nmi.c).Я знаю, что обычно можно использовать gcc -E для расширения макросов.Однако, поскольку файл является частью ядра Linux, многие параметры необходимо передать gcc.Затем я пытаюсь изменить Makefile для ядра, чтобы передать флаг -E.

В настоящее время я изменяю / arch / x86 / kernel / Makefile, который используется для компиляции nmi.c и вызова этогоконкретный подфайл Make с помощью make M = arch / x86 / kernel

Я обнаружил, что с помощью CFLAGS_nmi.o можно передать дополнительные флаги gcc.Однако добавление CFLAGS_nmi.o: = -E в Makefile не дает ожидаемого эффекта

Это вывод после изменения Makefile

~/git/linux$ make M=arch/x86/kernel
CC      arch/x86/kernel/nmi.o
AR      arch/x86/kernel/built-in.a
Building modules, stage 2.
MODPOST 3 modules

Я ожидаю, что расширенный код после "CC arch / x86 / kernel / nmi.o "строка.Я также попытался "CFLAGS_nmi.o: = -E> nmi.out", чтобы попытаться перенаправить вывод, но сгенерированный файл пуст.

1 Ответ

0 голосов
/ 03 июня 2019

Добавление

CFLAGS_nmi.o := -save-temps=obj

сделал свое дело. Спасибо!

...