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)'