【ARM 嵌入式 编译 Makefile 系列 2.2 - Makefile: 打印Makefile 中的行号】

发布时间:2024年01月03日

打印Makefile 中的行号

如果你想在 Makefile 的每个规则执行时打印出当前的行号,你可以使用 Makefile 的特殊变量 $(MAKEFILE_LIST)$(CURDIR),以及 shell 命令 wc -l 来计算行号。但请注意,这只会打印出 Makefile 中规则的行号,而不是源代码的行号。这种做法主要用于调试 Makefile 本身。

例如:

all: 
	@echo "Current Makefile line number: $$(grep -nE '^\s*all\s*:' $(MAKEFILE_LIST) | cut -d : -f 1)" 
	gcc -o myprogram myprogram.c 

在上面的 Makefile 片段中,grep -nE '^\s*all\s*:' $(MAKEFILE_LIST) 会搜索 Makefile 中定义 all 规则的行号:
在这里插入图片描述

请记住,Makefile 中的每个规则的命令都是在独立的 shell 实例中运行的,所以如果你想要跟踪每个规则执行时的行号,需要在每个规则中添加类似的命令。

文章来源:https://blog.csdn.net/sinat_32960911/article/details/135336094
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。