首页 / 操作系统 / Linux / 多源文件的Linux驱动Makefile编写
以前写的的都是一些如led数码管简单的驱动,今天在写linux lcd驱动的时候,将代码分成了几个模块,每个模块用一个.h和.c对应,最后在组合在一起。结果在编译时总是提示函数未定义,但是我明明包含了头文件。make -C /home/longjun/linux-2.6.24.4 M=/home/longjun/arm2440/lcd_debug modulesmake[1]: Entering directory `/home/longjun/linux-2.6.24.4" Building modules, stage 2. MODPOST 1 modulesWARNING: "sayHello" [/home/longjun/arm2440/lcd_debug/lcd.ko] undefined!make[1]: Leaving directory `/home/longjun/linux-2.6.24.4"最后找到了问题的根源是makefile出现了问题,于是将今天的收获记下来新建a.h和a.c两个文件,用来测试1、简单的在a.h文件中定义一个方法#ifndef _A_H_#define _A_H_void sayHello(void);#endif2、在a.c中实现sayHello方法#include"a.h"void sayHello(void){ printk("hello world!
");}3.这是lcd驱动的文件结构,所有的文件都放在一个目录下. a.h lcd.c lcd.h Makefile types.h.. framebuffer.c lcddrv.c lcdlib.c a.c framebuffer.h lcddrv.h lcdlib.h