Print bold or colored text from Makefile rule
You should use the usual tput
program for producing the correct escape sequences for the actual terminal, rather than hard-coding specific strings (that look ugly in an Emacs compilation buffer, for example):
printf-bold-1:
@printf "normal text - `tput bold`bold text`tput sgr0`"
Of course, you may store the result into a Make variable, to reduce the number of subshells:
bold := $(shell tput bold)
sgr0 := $(shell tput sgr0)
printf-bold-1:
@printf 'normal text - $(bold)bold text$(sgr0)'