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

文章目录

  • 打印Makefile 中的行号

打印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 规则的行号:
【ARM 嵌入式 编译 Makefile 系列 2.2 - Makefile: 打印Makefile 中的行号】_第1张图片

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

你可能感兴趣的:(#,Makefile,GCC,系列文章,arm开发)