Как обеспечить путь включения директории в модуле ядра Makefile - PullRequest
0 голосов
/ 11 мая 2018

Я изучал прерывание ядра, используя небольшой демонстрационный модуль ядра которые используют эти два заголовка включают

ASM / exception.h
ASM / маш / irq.h

Мой Makefile -

ifeq (${KERNELRELEASE},)

    KERNEL_SOURCE := /lib/modules/$(shell uname -r)/build

    PWD := $(shell pwd)


default:
    make    -C ${KERNEL_SOURCE} SUBDIRS=${PWD} modules 

clean:
    make    -C ${KERNEL_SOURCE} SUBDIRS=${PWD} clean



else

obj-m := irq_demo.o

endif

Ошибка, которую я получаю

irq_demo.c:9:27: fatal error: asm/exception.h: No such file or directory
 #include <asm/exception.h>

Я нашел asm / exception.h в моей системе в /usr/src/linux-headers-3.16.0-30-generic/arch/arm/include/

  • [1] Но как включить этот путь в Makefile

  • [2] Связан ли /usr/src/linux-headers-3.16.0-30-generic/include/asm-generic/ с аркой / рукой / включением / asm /? если да, то как?

1 Ответ

0 голосов
/ 11 мая 2018

Сначала попробуйте добавить ARCH = arm после make т.е.

make ARCH=arm -C ${KERNEL_SOURCE} SUBDIRS=${PWD} modules 

============================ИЛИ =============================

Можете ли вы попробовать добавить строку перед make

CARGS = -I /lib/modules/$(shell uname -r)/arch/arm/include/
make  $(CARGS) -C ${KERNEL_SOURCE} SUBDIRS=${PWD} modules 
...