makefile专题:变量的高级主题(下)

关键词:环境变量(全局变量)、变量在不同makefile之间的传递方式、目标变量(局部变量)、模式变量

1. 环境变量(全局变量)

  • makefile中能够直接使用环境变量的值
    1)定义了同名变量,环境变量将被覆盖
    2)运行make时指定-e选项,优先使用环境变量

  • 为什么要在makefile中使用环境变量?
    优势:环境变量可以在所有makefile中使用
    劣势:过多的依赖于环境变量会导致移植性降低

2. 变量在不同makefile之间的传递方式:

1)直接在外部(操作系统中)定义环境变量进行传递(不推荐)
2)使用export定义变量进行传递(定义临时环境变量)(推荐)
3)定义make命令行变量进行传递(推荐)

3. 目标变量(局部变量)

  • 作用域只在指定目标及连带规则中

4. 模式变量

  • 模式变量是目标变量的扩展
  • 作用域只在符合模式的目标及连带规则中

5.小结

  • 全局变量:makefile外部定义的环境变量
  • 文件变量:makefile中定义的变量
  • 局部变量:指定目标的变量

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

你可能感兴趣的:(makefile专题:变量的高级主题(下))