Makefile error 和 warning 函数
make提供了两个可以控制make运行方式的函数:error和warning。如果这两个函数在Makefile中使用,当make执行过程中检测到某些错误,就可以给用户提供一些信息,并且可以控制make的是否继续执行下去。
error 函数
$(error TEXT…)
使用示例:
.PHONY: all
all:
@echo "make command start..."
$(error find a error)
@echo "make command end..."
当执行make命令时,make会执行默认目标all下的命令,当遇到error函数时,就会给用户一个错误提示信息,并终止make的继续执行:
# make
makefile:5: *** find a error. Stop.
需要注意的是:error函数是在函数被调用时才会提示信息并终止make的继续执行。如果函数出现在命令中,或者出现在一个递归变量的定义里,在读取Makefile时不会出现错误。而只有包含error函数引用的命令执行时,或者包含这个函数的定义变量被展开时,才会提示错误信息TEXT,并终止make的运行。
warning 函数
warning函数跟error函数类似,也会给用户提示信息,唯一的区别是:warning函数不会终止make的运行,make会继续运行下去。
$(warning TEXT…)
使用示例:
.PHONY: all
all:
@echo "make command start..."
$(warning find a error)
@echo "make command end..."
执行make命令,运行结果为:
# make
makefile:5: find a error
make command start...
make command end...
通过运行结果对比可以看到:warning函数和error函数一样,也会产生一个错误提示信息,但是不会终止make的运行。
《Makefile工程实践》视频教程,一线开发工程师独家录制,网上首家讲解Makefile的实战课程。从零开始,教你一步一步编写一个工程项目的Makefile,支持使用第三方静态库、动态库,支持指定模块或目录编译生成静态库、动态库,赠送企业级的Makefile模板,学完即可拿来使用,投入项目开发实战,具备独立开展项目开发和管理的能力。详情请点击淘宝链接:Linux三剑客