makefile export的用法 //设置环境变量
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了makefile export的用法 //设置环境变量相关的知识,希望对你有一定的参考价值。
参考技术A Makefile用来调用各种命令做 自动化构建 工具非常方便。参考博客:
https://segmentfault.com/a/1190000008535305
运行make dev时则返回:
这样再执行make dev和make prod时,不同的target下的环境变量就不会干扰了:
GCC学习 如何编写makefile
接上一篇
- makefile嵌套执行
要执行另外一个makefile文件,若该文件在子目录下,可以这样执行:
----
伪目标:
$(MAKE) -C subdir
----
$(MAKE) -C 可以用来执行subdir目录下的makefile
- 变量传递
如果在父makefile中已经定义了一个变量,要传递到子makefile里面,需要使用export 关键字
----
export 变量
----
要传递所有变量时,可以不写变量
- 宏定义
define run-yacc yacc $(firstword $^) mv y.tab.c [email protected] endef
上面是宏定义的使用方法
define endef 中间为定义部分,使用的时候,使用方法为
foo.c : foo.y
$(run-yacc)
makefile遇到宏定义,展开为上述定义部分
该定义yacc一行为运行yacc命令
第二行为修改生成的y.tab.c 为目标名,显然这里的目标名就是foo.c
- 变量的使用
当定义变量时,使用等号来完成赋值,使用$() 来引用
变量会在引用处按原值展开,类似于c语言宏定义
两个变量如果相互赋值,则会发生无穷展开,make检测到就会报错
例如
a=$b
b=$a
为了避免出现这种情况,需要使用另外一种赋值方式:= 该方式比较常用
- 嵌套变量
MAKELEVEL表示当前makefile 的层数
以上是关于makefile export的用法 //设置环境变量的主要内容,如果未能解决你的问题,请参考以下文章