makefile – 控制make的冗长

makefile – 控制make的冗长,第1张

概述我正在使用一个makefile来编译一个由多个.c文件组成的程序,任何时候make都被调用,它只编译最后一次运行后修改的文件(没有什么特别的,直到这里). 为了避免混乱我的屏幕,我在每个$(CC)调用开始前加上@,之后我打印一个定制的回声消息.例如: %.o: %.c $(h1) $(h3) %.h @echo -e "\tCompiling <" $< @$(CC) $(CFL 我正在使用一个makefile来编译一个由多个.c文件组成的程序,任何时候make都被调用,它只编译最后一次运行后修改的文件(没有什么特别的,直到这里).

为了避免混乱我的屏幕,我在每个$(CC)调用开始前加上@,之后我打印一个定制的回声消息.例如:

%.o: %.c $(h1) $(h3) %.h    @echo -e "\tCompiling <" $<     @$(CC) $(CFLAGS) -c $< -o $(libDir)$@$(MATHOPTS)

我的问题是:如何以更“动态的方式”来控制make的冗长度,以便能够:

>正常行为:仅为执行的每个makefile规则打印一个自定义消息.
>详细的行为:打印每个makefile规则实际执行的命令(好像完全没有使用@).

解决方法 我会这样做的方式automake做:
V = 0ACTUAL_CC := $(CC)CC_0 = @echo "Compiling $<..."; $(ACTUAL_CC)CC_1 = $(ACTUAL_CC)CC = $(CC_$(V))%.o: %.c $(h1) $(h3) %.h        $(CC) $(CFLAGS) -c $< -o $(libDir)$@$(MATHOPTS)

如果您需要在规则中执行其他命令,我喜欢以下代码段.写$(AT)而不是@,当V = 0时,它将静默,但是当V = 1时打印.

AT_0 := @AT_1 := AT = $(AT_$(V))
总结

以上是内存溢出为你收集整理的makefile – 控制make的冗长全部内容,希望文章能够帮你解决makefile – 控制make的冗长所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1247992.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存