六、UNIX-LINUX---Makefile笔记二-使用变量(7-8)-环境变量-目标变量

1.环境变量

  • 并不推荐把许多的变量都定义在环境变量中
  • make -e 可以用系统环境变量覆盖Makefile中定义的变量
  • 默认情况下,只有通过命令行设置的变量会被传递

2.目标变量

  • 可以和全局变量同名,因为它的作用范围只在这条规则以及连带的规则中有效
  • 语法
# <variable-assignment> : 可以前面讲过的各种赋值表达式
# 如“=”,“:=”,“+=”或“?=”
# 设置这个变量会作用到由这个目标所引发的所有的规则中去
	<target...> : <variable-assignment>
	<target...> : override <variable-assignment>
  • 例子
# 在这个示例中,不管全局中的$(CFLAGS)的值什么,
# 在prog目标,以及其所引发的规则中(prog.o foo.o bar.o的规则)
# $(CFLAGS)的值都是“-g”
	prog : CFLAGS = -g  #指定规则 CFLAGS
	prog : prog.o foo.o bar.o #上面指定规则 作用的文件名
	$(CC) $(CFLAGS) prog.o foo.o bar.o

	prog : prog.c
	$(CC) $(CFLAGS) prog.c
	
	foo.o : foo.c
	$(CC) $(CFLAGS) foo.c

	bar.o : bar.c
	$(CC) $(CFLAGS) bar.c
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值