通常,我使用echo -e "\e[1:32mMessage\e[0m"从makefile中打印彩色消息。但是现在我想在ifndef块中打印消息,所以我使用了$(info Message)样式。有可能使这种信息变得丰富多彩吗?
发布于 2015-10-01 13:34:31
是。您可以使用像tput这样的工具输出所需的文字转义序列,而不是使用echo -e (反正这不是个好主意)来做同样的事情。
例如:
$(info $(shell tput setaf 1)Message$(shell tput sgr0))尽管这需要在菜谱上下文中生成两个shell和运行两个外部命令,而不是echo (或类似的)方法,但相对来说,这要花费更多。
您可以(如果您计划在多个地方使用颜色)将来自tput的输出保存在一个变量中,然后再使用它。
red:=$(shell tput setaf 1)
reset:=$(shell tput sgr0)
$(info $(red)Message$(reset))
$(info $(red)Message$(reset))https://stackoverflow.com/questions/32888782
复制相似问题