c - How do I write a makefile for my module -


here question:i want write kernel module , have writen files: a.c,b.c,b.h , d.h. a.c includes b.h , d.h , b.h includes d.h too. wrote makefile this:

ifneq ($(kernelrelease),) mymodule-objs :=a.c b.c obj-m += a.o b.o else pwd := $(shell pwd) kver := $(shell uname -r) kdir := /lib/modules/$(kver)/build all:     rm -rf *.o *.mod.c *.symvers *order *.markers *.cmd *-     $(make) -c $(kdir) m=$(pwd) clean:     rm -rf *.o *.mod.c *.symvers *order *.markers *.cmd *- endif 

but doesn't work,how should write correct makefile? want file name x.ko in end and.

after use 'make' command,and use 'insmod' give me message:

insmod: error: not insert module a.ko: unknown symbol in module

by way use unbuntu 14.10. kernel 3.16.0-37-generic

obj-m += a.o b.o 

will create 2 modules, a.ko , b.ko
if want create single module out of both (which suppose because of line mymodule-objs), replace line with

obj-m += mymodule.o 

mymodule.o built according mymodule-objs , turned mymodule.ko using modpost.

, said before, you're missing modules in $(make) line


Comments

Popular posts from this blog

Magento/PHP - Get phones on all members in a customer group -

php - .htaccess mod_rewrite for dynamic url which has domain names -

Website Login Issue developed in magento -