CodeInfo_ Android高级开发工程师  2014年01月20日
linux内核模块的Makefile问题
A.c,B.c,Makefile,Makefile_B都在同一文件夹下,B.c中调用A.c中的函数

Makefile:
ifneq ($(KERNELRELEASE),)
obj-m :=A.o
obj-m :=B.o
else
KDIR :=/lib/modules/2.6.18-53.el5xen/build
all:
make -C $(KDIR) M=$(PWD) modules
clean:
rm -f *.o *.ko *.mod.o *.symvers *.mod.c
endif


我是想2个内核模块都在一个makefile中实现,但是这样子每次都只有B.ko的生成,A没有任何变化

--------------------------------------------------------------------------------------------

后来我把它改成2个模块分别编译
Makefile:

ifneq ($(KERNELRELEASE),)
obj-m :=A.o
else
KDIR :=/lib/modules/2.6.18-53.el5xen/build
all:
make -C $(KDIR) M=$(PWD) modules
clean:
rm -f *.o *.ko *.mod.o *.symvers *.mod.c
endif


Makefile_B:

ifneq ($(KERNELRELEASE),)
obj-m :=B.o
else
KDIR :=/lib/modules/2.6.18-53.el5xen/build
all:
make -C $(KDIR) M=$(PWD) modules
clean:
rm -f *.o *.ko *.mod.o *.symvers *.mod.c
endif

但是执行make -f Makefile_B,生成的也是A.ko,说明执行的也是Makefile,这是为什么???
...全文
243 点赞 收藏 6
写回复
6 条回复

还没有回复,快来抢沙发~

发动态
发帖子
Linux_Kernel
创建于2007-08-27

3126

社区成员

1.7w+

社区内容

Linux/Unix社区 内核源代码研究区
社区公告
暂无公告