NO2.makefile中变量和不同的赋值方式以及一些常用预定义变量的使用方法

本文参照自狄泰软件学院:《门徒计划》课程

变量和命名规则:makefile中支持程序语言设计中的变量的概念,但是变量只代表文本数据(字符串),命名规则如下:

变量名可以包含字符数字和下划线,但是不能包含 ":", " # ",  " = ", " ",而且变量名大小写敏感

变量的定义和使用:


常用的变量的赋值方式:

简单赋值(:=)         递归赋值( = )  条件赋值 (?=)    追加赋值(+=)

用法示例:

简单赋值(:=)


递归赋值( = ):


条件赋值 (?=):


 追加赋值(+=):


常用的预定义变量

—自动变量  $@      $^      $<

—特殊变量 $(MAKE)  $(MAKECMDGOALS) $(MAKEFILE_LIST)

                  $(MAKE_VERRION)   $(CURDIR)    $(VARIABLES)

自动变量的解释:

 

自动变量的使用示例:



输出结果为:

$@ => all
$^ => first second third
$< => first

特殊变量的解释:




相关示例代码:

.PHONY : all out first second third test

all out : 
	@echo "$(MAKE)"
	@echo "$(MAKECMDGOALS)"
	@echo "$(MAKEFILE_LIST)"
	
	
first :
	@echo "first"
	
second :
	@echo "second"
	
third :
	@echo "third"
	
test :
	@$(MAKE) first
	@$(MAKE) second
	@$(MAKE) third

make test的输出结果

make all 的输出结果

相关示例代码:

.PHONY : test1 test2

TDelphi := Delphi Tang
D.T.Software := D.T.
	
test1 :
	@echo "$(MAKE_VERSION)"
	@echo "$(CURDIR)"
	@echo "$(.VARIABLES)"
	
test2 :
	@echo "$(RM)"
结果,自己可以编译查看一下


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值