日期:2014-05-16  浏览次数:20586 次

linux下包含头文件
我把自己的代码都写在了一个文件夹下,方便管理
我的目录结构如下:
auto/drv/a_drv.c
auto/inc/comm.h
auto/app/comm.c


现在我想在a_drv.c里面include 了 comm.h 那么我的makefile 应该怎么修改呢?

下面是单独编译a_drv.c的makefile

ifneq ($(KERNELRELEASE),)

obj-m := front_panel_drv.o

else

KDIR := /opt/kernel
all:
make -C $(KDIR) M=$(PWD) modules ARCH=arm CROSS_COMPILE=/opt/arm-2008q1/bin/arm-none-linux-gnueabi-
cp front_panel_drv.ko /opt/nfs/lambda/drv
clean:
rm -f *.ko *.o *.mod.o *.mod.c *.symvers modul*

endif


------解决方案--------------------
对,需要加到依赖关系里。

obj-m := front_panel_drv.o ../inc/comm.h
------解决方案--------------------
只要你的点C文件中引用头文件的路径是对的。就没有什么问题!
------解决方案--------------------
还有,你的Makefile最好写在和点C文件一个目录下。