Never put comments in a rule.
Some make treat anything starting with a tab as a command for
the current rule, even if the tab is immediately followed by a
The make from Tru64 Unix V5.1 is one of them. The following
# foo through the shell.
all: # foo
As a workaround, you can use the : no-op command with a string argument that gets ignored:
all: : "foo"