Make error: missing separator
Solution 1:
As indicated in the online manual, the most common cause for that error is that lines are indented with spaces when make
expects tab characters.
Correct
target:
\tcmd
where \t
is TAB (U+0009
)
Wrong
target:
....cmd
where each .
represents a SPACE (U+0020
).
Solution 2:
Just for grins, and in case somebody else runs into a similar error:
I got the infamous "missing separator" error because I had invoked a rule defining a function as
($eval $(call function,args))
rather than
$(eval $(call function,args))
i.e. ($
rather than $(
.
Solution 3:
This is a syntax error in your Makefile. It's quite hard to be more specific than that, without seeing the file itself, or relevant portion(s) thereof.
Solution 4:
For me, the problem was that I had some end-of-line # ...
comments embedded within a define ... endef
multi-line variable definition. Removing the comments made the problem go away.
Solution 5:
My error was on a variable declaration line with a multi-line extension. I have a trailing space after the "\" which made that an invalid line continuation.
MY_VAR = \
val1 \ <-- 0x20 there caused the error.
val2