makefile专题:make中的路径搜索(下)

2018-02-27 10:50:48来源:https://www.jianshu.com/p/d1f385634521作者:jacob2359人点击

分享


1. 当VPATHvpath同时出现时,make会如何处理?



结论:
1) make首先在当前文件夹中搜索需要的文件;
2)如果失败:make优先在vpath指定的文件夹中搜索目标文件,当vapth搜索失败时,转而搜索VPATH指定的文件夹





2. 当使用vpath对同一个Pattern指定多个文件夹时,make会如何处理?



结论:
1)make首先在当前文件夹中搜索需要的文件
2)如果失败:make自上而下的顺序搜索vpath指定的文件夹,当找到目标文件,搜索结束





3. 通过VPATH指定搜索路径后,make如何决定目标文件的最终位置?



结论:
1)当app.out完全不存在时:make在当前文件夹下创建app.out
2)当src文件夹中存在app.out时:所有目标和依赖新旧关系不变,make不会重新创建app.out;当依赖文件被更新时,make在当前文件夹下创建app.out


4. 当依赖改变时,如何使得src下的app.out被更新?

解决方案:使用GPATH特殊变量指定目标文件夹GPATH=src
1)当app.out完成不存在时,make默认在当前文件夹创建app.out
2)当app.out存在于src,且依赖文件被更新时,make在src中创建app.out


5. 工程项目中的几点建议
尽量使用vpath为不同文件指定搜索路径
不要在源码文件夹中生成目标文件
为编译得到的结果创建独立的文件夹
**避免VPATHGPATH特殊变量的使用


声明:此文章为本人在学习狄泰软件学院《十二月提升计划》所做的笔记,参考书籍《专业嵌入式软件开发》——李云,文章中包含狄泰软件资料内容和《专业嵌入式软件开发》资料内容,一切版权归狄泰软件和《专业嵌入式软件开发》所有!









最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台