Makefile控制函数error和warning
Makefile控制函数error和warning
Makefile 中提供了两个控制 make 运行方式的函数。其作用是当 make 执行过程中检测到某些错误时为用户提供消息,并且可以控制 make 执行过程是否继续。这两个函数是 "error" 和 "warning",我们来详细的介绍一下这两个函数。
$(error TEXT...)
函数说明如下:
- 函数功能:产生致命错误,并提示 "TEXT..." 信息给用户,并退出 make 的执行。需要说明的是:"error" 函数是在函数展开时(函数被调用时)才提示信息并结束 make 进程。因此如果函数出现在命令中或者一个递归的变量定义时,读取 Makefile 时不会出现错误。而只有包含 "error" 函数引用的命令被执行,或者定义中引用此函数的递归变量被展开时,才会提示知名信息 "TEXT..." 同时退出 make。
- 返回值:空
- 函数说明:"error" 函数一般不出现在直接展开式的变量定义中,否则在 make 读取 Makefile 时将会提示致命错误。
我们通过两个例子来说明一下;
实例 1:
- ERROR1=1234
- all:
- ifdef ERROR1
- $(error error is $(ERROR1))
- endif
make 读取解析 Makefile 时,如果所起的变量名是已经定义好的"ERROR1",make 将会提示致命错误信息 "error is 1234" 并保存退出。
实例 2:
- ERR=$(error found an error!)
- .PHONY:err
- err:;$(ERR)
这个例子,在 make 读取 Makefile 时不会出现致命错误。只有目标 "err" 被作为是一个目标被执行时才会出现。
$(warning TEXT...)
函数说明如下:
- 函数功能:函数 "warning" 类似于函数 "error" ,区别在于它不会导致致命错误(make不退出),而只是提示 "TEXT...",make 的执行过程继续。
- 返回值:空
- 函数说明:用法和 "error" 类似,展开过程相同。
Makefile控制函数error和warning相关推荐
- android编译error, forbidden warning出错问题解决
android编译Kernel时,从高版本GCC起,就开始把warning作为error对待,比如我们遇到: gsl3670.c:2065:21: warning: unused variable ' ...
- android 编译 oserror,编译android kernel时,关闭error, forbidden warning
编译android kernel时,遇到error, forbidden warning sound/soc/codecs/es8323.c:1249:12: warning: 'entry_read ...
- wince6.0 编译报错:error C2220: warning treated as error - no 'object' file generated的解决办法
内容提要:wince6.0编译报错:"error C2220: warning treated as error - no 'object' file generated" 原因是 ...
- wince6.0 编译报错:error C2220: warning treated as error - no 'object' file generated的解决办法...
内容提要:wince6.0编译报错:"error C2220: warning treated as error - no 'object' file generated" 原因是 ...
- Caffe RPN :error C2220: warning treated as error - no 'object' file generated
在 caffe里面添加rpn_layer.cpp之后,总是出现 error C2220: warning treated as error - no 'object' file generated 这 ...
- 译文: C28x Compiler Error and Warning Messages
C28x Compiler Error and Warning Messages 引言 通常,知道错误和警告的产生以及常见错误的来源是很有帮助的.本文包含错误列表.警告和备注以及常见错误列表及其解决方 ...
- #error和#warning使用分析
1 #error的用法 error用于生成一个编译错误消息. 用法:#error message(message不需要用双引号包围). #error编译指示字用于自定义程序员特有的编译错误消息,类似的 ...
- 巨坑 jom makefile debug error 2 报错
搜索了两天,也没找到结果 各种环境变量疯狂配置 没想到,竟然是这么来解决的 Qt Creator 编译显示红色条 jom错误 编译输出异常: jom: D:\A_Work\***\build-Oran ...
- WINCE6.0 error C2220: warning treated as error问题解决
今天在编译IMX515的BSP的时候,发现下面的编译错误问题: BUILD: [00:0000002476:PROGC ] BuildingCOMPILE Pass in F:\WINCE600\PL ...
最新文章
- windows进程生产者消费者代码c语言,生产者消费者问题---C语言实现
- 软件测试培训 高级测试/测试开发基本技能列表
- 【struts2】struts2拦截器
- 基于TCP的Socket通讯
- 「ECharts」电商平台数据可视化实时监控系统之后台开发
- 机器人当中的摩擦力(未完)
- Windows 8 系列(九):关于VariableSizedWrapGrid与WrapGrid 对Visibility变化而引起的布局变化的支持...
- js中获取当前时间(yyyy-MM-dd hh-mm-ss)
- 基于 Generator 和 Iterator 的惰性列表
- java actionsupport_struts2为什么action要继承actionSupport类
- PandoraBox/LEDE SDK交叉编译OpenWrt ipk安装包的方法
- 给机器人罗宾写一封英语回信_小学英语人教(13版三起点)六年级上册Unit1
- codesys file读写配置参数程序
- twr java_Java7新特性 - TWR(try-with-resources)
- 16系列显卡支持的计算机系统,GTX16系列显卡登场
- ASP.NET MVC身份认证与授权
- Android开发对内存管理的学习总结
- postman传数组
- 【CSS】如何实现价格文字中间划一条线
- TMS320F2812介绍
热门文章
- ug585_ch19 UART 导读
- 英特尔中国开源技术委员会成立
- Ae 入门系列之十二:三维合成
- Ubuntu创建和编译文件
- Thunderhead Engineering PyroSim 2015.2.0604 Win64 1CD火灾消防动态模拟
- 《ZigBee开发笔记》第四部分 提高篇-第9章 CC2530基于GenericApp无线收发实验
- 会声会影2023最新版图文安装详细教程
- 重装系统之后,重启出现蓝屏问题总结
- java中斗地主游戏编写_java实现斗地主游戏
- [附源码]计算机毕业设计springboot公共台账管理系统