makefile – 控制make的冗长
发布时间:2020-12-16 05:32:31 所属栏目:百科 来源:网络整理
导读:我正在使用一个makefile来编译一个由多个.c文件组成的程序,任何时候make都被调用,它只编译最后一次运行后修改的文件(没有什么特别的,直到这里). 为了避免混乱我的屏幕,我在每个$(CC)调用开始前加上@,之后我打印一个定制的回声消息.例如: %.o: %.c $(h1) $(h
我正在使用一个makefile来编译一个由多个.c文件组成的程序,任何时候make都被调用,它只编译最后一次运行后修改的文件(没有什么特别的,直到这里).
为了避免混乱我的屏幕,我在每个$(CC)调用开始前加上@,之后我打印一个定制的回声消息.例如: %.o: %.c $(h1) $(h3) %.h @echo -e "tCompiling <" $< @$(CC) $(CFLAGS) -c $< -o $(libDir)$@$(MATHOPTS) 我的问题是:如何以更“动态的方式”来控制make的冗长度,以便能够: >正常行为:仅为执行的每个makefile规则打印一个自定义消息. 解决方法
我会这样做的方式automake做:
V = 0 ACTUAL_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)) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |