Я заинтересован в расширении макросов одного файла ядра 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", чтобы попытаться перенаправить вывод, но сгенерированный файл пуст.