MakefileMakefile 中 LINUXINCLUDE 的作用
Posted Evan_ZGYF丶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MakefileMakefile 中 LINUXINCLUDE 的作用相关的知识,希望对你有一定的参考价值。
在驱动开发的时候,我们经常会创建很多新的头文件,这些头文件大多以#include"xxx.h"的形式放在源码中。
而内核头文件则是以#include <xxx.h>的形式存在。
这两者的区别:
前者(使用""),来引用xxx.h文件,是首先检索文件的当前路径;如果没有,再检索标准路径,看看这些文件夹下是否有该头文件。后者(使用<>),来引用xxx.h文件,是首先检索标准路径,看看这些文件夹下是否有该头文件;如果没有,也不会检索当前文件所在路径,并将报错。
实际移植过程中遇到的问题是,#include"xxx.h"形式的头文件,它的路径通常会很长,代码耦合性相对更高一些。
如果能改成#include <xxx.h>的形式,那么是更好的选择。
如何将自己写的头文件添加到标准路径?
看一个Makefile的例子:
# Makefile for the Linux device tree
LINUXINCLUDE += -Idrivers/net/pifm/include
obj-y += pifcfg/
obj-y += pifdrv/
obj-$(CONFIG_TRANSPARENT) += transparent.o
这其中有一个LINUXINCLUDE 就是做了相应的操作,具体应该是在根目录下的Makefile,会将LINUXINCLUDE中的所有路径添加到标准检索中。
这样的一个好处就是:
原先路径是:
#include "../../../include/pif.h"修改Makefile之后,代码中可以改为:
#include <pif.h>
从代码的可维护性、可读性角度来说,这肯定是更好的一个选择!
完毕~
以上是关于MakefileMakefile 中 LINUXINCLUDE 的作用的主要内容,如果未能解决你的问题,请参考以下文章
MakefileMakefile 中 LINUXINCLUDE 的作用
MakefileMakefile 中 LINUXINCLUDE 的作用