|
|
makefile
--------------------------------------------------------------
DEBUG=0
CXXFLAGS=-D__KERNEL__ -DMODULE -O2 -DDEBUG=$(DEBUG)
INCLUDES=-I/usr/src/linux/include
CFLAGS=$(CXXFLAGS) $(INCLUDES)
OBJS = epiafb_driver.o epiafb_accel.o epiafb_io.o epiafb_modes.o epiafb_util.o
epiafb.o: $(OBJS)
$(LD) -r $^ -o $@
clean:
rm -f *.o *~
----------------------------------------------------------------
make 显示的信息
----------------------------------------------------------------
cc -D__KERNEL__ -DMODULE -O2 -DDEBUG=0 -I/usr/src/linux/include -c -o epiafb_driver.o epiafb_driver.c
cc -D__KERNEL__ -DMODULE -O2 -DDEBUG=0 -I/usr/src/linux/include -c -o epiafb_accel.o epiafb_accel.c
cc -D__KERNEL__ -DMODULE -O2 -DDEBUG=0 -I/usr/src/linux/include -c -o epiafb_io.o epiafb_io.c
cc -D__KERNEL__ -DMODULE -O2 -DDEBUG=0 -I/usr/src/linux/include -c -o epiafb_modes.o epiafb_modes.c
cc -D__KERNEL__ -DMODULE -O2 -DDEBUG=0 -I/usr/src/linux/include -c -o epiafb_util.o epiafb_util.c
ld -r epiafb_driver.o epiafb_accel.o epiafb_io.o epiafb_modes.o epiafb_util.o -o epiafb.o
----------------------------------------------------------------
在modules中加入:
---------------------------------------------------------
/lib/modules/2.4.20-8/kernel/drivers/video/epiafb/epiafb_accel.o:
/lib/modules/2.4.20-8/kernel/drivers/video/epiafb/epiafb_io.o:
/lib/modules/2.4.20-8/kernel/drivers/video/epiafb/epiafb_models.o:
/lib/modules/2.4.20-8/kernel/drivers/video/epiafb/epiafb_util.o:
/lib/modules/2.4.20-8/kernel/drivers/video/epiafb/epiafb_driver.o:
/lib/modules/2.4.20-8/kernel/drivers/video/epiafb.o: /lib/modules/2.4.20-8/kernel/drivers/video/fbgen.o /lib/modules/2.4.20-8/kernel/drivers/video/epiafb/epiafb_driver.o /lib/modules/2.4.20-8/kernel/drivers/video/epiafb/epiafb_accel.o /lib/modules/2.4.20-8/kernel/drivers/video/epiafb/epiafb_io.o /lib/modules/2.4.20-8/kernel/drivers/video/epiafb/epiafb_models.o /lib/modules/2.4.20-8/kernel/drivers/video/epiafb/epiafb_util.o
-----------------------------------------------------
modprobe epiafb 提示
-------------------------------------------------------
/lib/modules/2.4.20-8/kernel/drivers/video/epiafb/epiafb_util.o: unresolved symbol memdiff
/lib/modules/2.4.20-8/kernel/drivers/video/epiafb/epiafb_util.o: unresolved symbol read3X4
/lib/modules/2.4.20-8/kernel/drivers/video/epiafb/epiafb_util.o: unresolved symbol fb_info
/lib/modules/2.4.20-8/kernel/drivers/video/epiafb/epiafb_util.o: unresolved symbol read3CE
/lib/modules/2.4.20-8/kernel/drivers/video/epiafb/epiafb_util.o: unresolved symbol read3C4
/lib/modules/2.4.20-8/kernel/drivers/video/epiafb/epiafb_util.o: unresolved symbol write3C4
/lib/modules/2.4.20-8/kernel/drivers/video/epiafb/epiafb_util.o: unresolved symbol memsize
/lib/modules/2.4.20-8/kernel/drivers/video/epiafb/epiafb_util.o: unresolved symbol write3X4
/lib/modules/2.4.20-8/kernel/drivers/video/epiafb/epiafb_util.o:
Hint: You are trying to load a module without a GPL compatible license
and it has unresolved symbols. The module may be trying to access
GPLONLY symbols but the problem is more likely to be a coding or
user error. Contact the module supplier for assistance, only they
can help you.
/lib/modules/2.4.20-8/kernel/drivers/video/epiafb/epiafb_util.o: insmod /lib/modules/2.4.20-8/kernel/drivers/video/epiafb/epiafb_util.o failed
/lib/modules/2.4.20-8/kernel/drivers/video/epiafb/epiafb_util.o: insmod epiafb failed
-------------------------------------------------------
modprobe加载模块的顺序是怎的呢?
我应该如何确定它们的依赖关系?
fb_info等在epiafb_driver.h中定义
read3CE等在epiafb_io.h中定义 |
|