请阅读【ARM GCC Makefile 编译专栏导读】


下篇文章:【ARM 嵌入式 编译 Makefile 系列 2.1 - Makefile info,warn, error 打印详细介绍】
上篇文章:【ARM 嵌入式 编译 Makefile 系列 1 - Makefile 如何调用 shell 脚本】

Makefile 打印信息方法介绍

在Makefile中,我们可以使用echo命令来打印信息。这种方法适用于大多数的 UNIX shell,包括bash、sh、ksh、zsh等。

在 Makefile 中的规则部分,你可以添加 echo 命令来打印一些信息。例如:

all: 

	echo "Compiling the program..." 
	gcc -o program program.c 
	echo "Compilation done."

这个Makefile将在执行make all命令时,会在编译程序前后打印出一些信息:

[19:50:12]sam (*^~^*) ~/test> make all
echo "Compiling the program..."
Compiling the program...
gcc -o program program.c
echo "Compilation done."
Compilation done.

echo 命令的输出默认会被 Make 显示出来。如果你想要静默地(即不显示命令自身)打印信息,你可以在命令前面加上一个@字符:

all: 
	@echo "Compiling the program..." 
	gcc -o program program.c 
	@echo "Compilation done."

这种情况下,make all命令将只会显示编译程序的输出,不会显示echo命令本身。

同时,Makefile 还提供了一些变量和函数,可以帮助你打印更复杂的信息。例如:

FILES := $(wildcard *.c)

all:
        @echo "C source files: $(FILES)"

这个Makefile将在执行make all时,打印出当前目录下所有的C源文件:

 (*^~^*) ~/test> make all
C source files: program.c test.c

下篇文章:【ARM 嵌入式 编译 Makefile 系列 2.1 - Makefile info,warn, error 打印详细介绍】
上篇文章:【ARM 嵌入式 编译 Makefile 系列 1 - Makefile 如何调用 shell 脚本】

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐