makefile脚本使用系统变量
时间: 2023-09-22 09:06:50 浏览: 102
在Makefile脚本中,可以使用系统的环境变量。当Makefile文件中对相应环境变量有重新定义时,make会使用文件中的值,除非使用了-e参数。优先级为:命令行 > 文件内定义 > 系统设置。默认情况下,命令行中设置的变量会自动传递到下层Makefile,环境变量也是一样的,若命令行没有设置又想传递到下层,需要使用export关键字。另外,最高一级的Makefile称为总控Makefile,总控Makefile的变量可以传递到下级的Makefile中(如果你显示的声明),但是不会覆盖下层的Makefile中所定义的变量,除非指定了“-e”参数。想要传递变量到下级Makefile,可以使用export参数修饰,不想传递的参数可以用unexport修饰。需要注意的是,有两个变量,一个是SHELL,一个是MAKEFLAGS,这两个变量不管你是否export,其总是要传递到下层Makefile中。MAKEFLAGS是一个系统级的变量,想不传递它需要在make参数中添加上“MAKEFLAGS=” ,即将它在下级Makefile重新赋空值。
#### 引用[.reference_title]
- *1* *2* [Makefile命令与变量](https://blog.csdn.net/Suffocatingg/article/details/127922649)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [Makefile中执行shell脚本](https://blog.csdn.net/wsclinux/article/details/52274074)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文