makefile info和eval区别

来源:互联网 发布:2017最近的网络流行语 编辑:程序博客网 时间:2024/06/05 20:24

info 相当于宏展开,而eval相当于计算

pointer:=pointed_valuedefine fooval:=123arg:=$1$($(1)):=ooooendef#$(info $(call foo,pointer))$(eval $(call foo,pointer)).PHONY:targettarget:    @echo ------------    @echo var:$(var),arg:$(arg)    @echo pointer:$(pointer),pointed_value:$(pointed_value)    @echo done    @echo -------------

实例中:

  • makefile中定义一个宏foo,第一个参数为$1
  • info只是展开宏,不做计算,call调用“函数” foo,参数pointer
  • eval计算,call调用”函数” foo,参数为pointer