Makefile里面打印信息

Makefile里面打印信息

https://www.cnblogs.com/minglee/p/10599679.html

  Makefile的规则相对来说还是比较复杂的,上手不容易,没有系统研究过,往往搞不清楚状况。如果掌握了基本的调试手段,那对我们写出正确的Makefile会非常有帮助。而在Makefile中,最重要的调试手段莫过于输出信息。

  Makefile中需要打印信息,可以通过如下方法:

  $(info info text)、$(warning warning text)或者$(error error text)

  示例:

复制代码

CXX = g++ 
CompileOpt = -g -std=gnu++11
LinkOpt = -lpthread  $(asan)

Target = main

$(Target) : main.o memory_leak.o
    $(CXX) main.o memory_leak.o -o $(Target) $(LinkOpt)
    $(info info text)
    $(warning warn text)
    $(warning $(asan))
    $(error error text)

main.o : main.cpp memory_leak.h
    $(CXX) -c $(CompileOpt) main.cpp

memory_leak.o : memory_leak.cpp memory_leak.h
    $(CXX) -c $(CompileOpt) memory_leak.cpp


clean:
    rm main.o memory_leak.o

复制代码

  编译输出:

复制代码

$ make asan='-fsanitize=leak -fsanitize=address'                                                                                                             
g++ -c -g -std=gnu++11 main.cpp
g++ -c -g -std=gnu++11 memory_leak.cpp
info text
Makefile:11: warn text
Makefile:11: -fsanitize=leak -fsanitize=address
Makefile:11: *** error text.  Stop.

复制代码

  可以看到,info、warning、error三种输出各有不同,其中error输出甚至会中断编译过程。可以根据不同的需求,用不同的方式输出信息,写出满意的Makefile

标签: Makefile

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值