"Nothing to be done for makefile" message
If you don't specify a target on the command-line, Make uses the first target defined in the makefile by default. In your case, that is makefile:
. But that doesn't do anything. So just remove makefile:
.
Your command line does not tell make
what you want to be made, so it defaults to trying to make the first explicitly named target in the makefile. That happens to be makefile
, at the very first line.
makefile:
Since there are no dependencies, there is no reason to do anything to remake that file. Therefore make
exits, happy at having obeyed your wish.