Makefile编程调试经验总结- “Make -n”

最近从0搭建soc验证环境,碰到不少问题,比如Makefile,洋洋洒洒的写了一大通,集成了一些自己写的小脚本,尤其是用了比较复杂的Makefile写法以后,调试真是费了老鼻子劲了,不过这样一通摸索下来,总结了一个很简单的技巧,用了以后,调试makefile是事半功倍。

比如我搞的如下高级用法,从项目根目录下搜索所有的Make target并执行make,一开始,出错就是一脸懵,因为大型项目目录结构复杂,Makefile放在各级目录,每个Makefile下面都有定义一些target和cmd,错了都不知道make执行到哪里了。


$(SUBDIRS):
    @if [[ -e $@ && ! -L $(abspath $@) ]]; then\
        echo "[$(realpath $@)] $(MAKE) $(MAKECMDGOALS)" | sed 's%$(PROJ)/%$$PROJ/%g';\
        \cd $@ && $(MAKE) $(MAKECMDGOALS);\
    fi
 

开了”-n“以后,Make会只显示执行的cmd,但是并不会执行cmd。那么Make调试可以先用-n看一遍Make的执行顺序是否符合你的预期,然后再去掉-n调试具体cmd的报错。事半功倍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值