在调用目标之前打印变量的内容

时间:2015-03-19 22:21:41

标签: makefile

我目前有一个看起来像这样的makefile

ifndef __makefile_env_setup_included_1__
export __makefile_env_setup_included_1__ := true

export ENV_ROOT  := $(abspath $(lastword $(MAKEFILE_LIST))/../..)
export ENV_TOOLS := $(ENV_ROOT)/tools

endif   # __makefile_env_setup_included_1__


include $(ENV_TOOLS)/Makefile.utils.function
include $(ENV_TOOLS)/Makefile.utils.variable
include $(ENV_TOOLS)/Makefile.utils.action
include $(ENV_TOOLS)/Makefile.utils.rule

我想回应所使用的变量的值,如

$ENV_ROOT

根据我到目前为止所读到的内容,我只能在已处理目标的命令部分插入命令。我的问题是有没有办法让我在到达包含文件之前回显某些变量?

1 个答案:

答案 0 :(得分:2)

您可以使用Functions That Control Make执行此操作。具体为$(info)$(warning)

  

$(警告文字......)

     

此函数与上面的错误函数类似,只是make不会退出。而是展开文本并显示生成的消息,但继续处理makefile。

     

此函数扩展的结果是空字符串。

     

$(信息文字......)

     

此函数只是将其(扩展)参数打印到标准输出。没有添加makefile名称或行号。扩展此函数的结果是空字符串。