Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.119.104.238] |
|
Сообщ.
#1
,
|
|
|
Здравствуйте. Пытаюсь собрать драйвер под Linux ядро 4.15. Драйвер состоит их нескольких файлов.
Для иллюстрации проблемы создал тестовый проект из двух cpp. Тестовый драйвер как бы собрался но раздражают варниги особенно насчёт отсутствия main. Подскажите в чёс я не прав. Ниже привожу maikefile весь тестовый проект в прикреплённом архиве. BINARY := mynull KERNEL := /lib/modules/$(shell uname -r)/build ARCH := x86 C_FLAGS := -Wall KMOD_DIR := $(shell pwd) TARGET_PATH := /lib/modules/$(shell uname -r)/kernel/drivers/char # OBJECTS = mynull.o \ # mywr.o: t1 = mynull t2 = mywr all: default mynull myw ccflags-y += $(C_FLAGS) ifneq (${KERNELRELEASE},) my_drv-objs := $(t1).o $(t2).o obj-m := my_drv.o else default: make -C $(KERNEL) M=$(KMOD_DIR) modules endif clean: rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions *.bak *.cache *.d mynull.o: mynull.c gcc -c -o mynull.o mynull.c mywr.o: mywr.c mywr.h gcc -c -o mywr.o mywr.c Прикреплённый файлd4.zip (2,02 Кбайт, скачиваний: 44) |
Сообщ.
#2
,
|
|
|
что-то у вас вроде и похоже makefile написан, но что-то не то.
Зачем правила для сборки отдельных C-файлов?? Они со всякими дополнительными опциями должны компилироваться, которые правильно настраиваются в сборочных файлах ядра. Вам же лишь надо obj-m указать и доп. переменные, если модуль состоит из более чем одного файла. Вот здесь сверялись ? |
Сообщ.
#3
,
|
|
|
сверялся. Вроде бы всё правильно.
|