Как мне скомпилировать несколько файлов (файлы, вызывающие функции в других файлах) в модуле ядра?
Я интерпретирую ваш вопрос так: вы хотите объединить несколько модулей компиляции в один модуль?
Существует множество примеров этого в самом исходном коде ядра; суть в том, чтобы написать Makefile как
Makefile
obj-$(CONFIG_FOO) += foo.o foo-objs: bar.o
Это свяжет foo.o и bar.o вместе для foo.ko, если CONFIG_FOO=m. См. Руководство по программированию модуля ядра Linux # Модули, охватывающие несколько файлов , для более подробного объяснения.
foo.o
bar.o
foo.ko
CONFIG_FOO=m