Если вы используете рекомендуемый метод для построения драйверов вне дерева (см. Ldd Глава 2), команда должна выглядеть следующим образом:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
Эффект этой команды два:
- опция -C меняет текущий каталог на
$(KERNELDIR)
, где он находит основной файл Makefile ядра - опция -M заставляет make-файл возвращать ваш текущий каталог dev модуля
$(PWD)
,где он пытается построить модуль target
Так что, если вы копируете ваш .config из $(KERNELDIR)
в $(PWD)
, он должен быть проанализирован Makefile и у вас должны быть все ваши CONFIG_LKM_ * #definesдоступно (но не проверено, но звучит логично).
Для вопроса make menconfig
, что касается приведенного выше объяснения, он может работать, если вы добавите некоторые файлы KConfig в каталог $(PWD)
.