Generally GNU make prints all the commands provided in the rules section. At times the output printed by the make may not be appealing if the makefile contains lots of rules with all complex jargon. For example consider the following example with a simple echo statement in the Makefile.

[neo@techpulp ~]# cat makefile
all:
	echo Hi There
[neo@techpulp ~]# make
echo Hi There
Hi There
[neo@techpulp ~]#

Two “Hi There” messages appear when we run make one is actual command that is run and other is the output of the command.. You wouldn’t want two “Hi There” messages to appear.

In such cases, it is good to hide the commands so that the user sees exactly what you want.

If @ character is added as prefix to any command, make will not print that command on the console. Let us look at the modified makefile and its output.

[neo@techpulp ~]# cat makefile
all:
	@echo Hi There
[neo@techpulp ~]# make
Hi There
[neo@techpulp ~]#