
June 15, 1991

--
Using the backslash character as a character escape

Example:	$(fncall \,arg1, ... )
Example:	echo "price = \$100"

Avoid using the backslash to escape characters.  I haven't any clue what
the backslash will generally do, but in particular places the backslash can
be used to escape the meaning of the next character.  Although that
probably works fine in the particular context, the escaped character is not
remapped properly to the character itself, so the backslash character will
hang around, as if it were literal.  $$ should be used instead of \$.

--
A function call that returns an ERROR will not cause the Makefile to be
aborted.  Execution will continue as if the function call returned an
empty string.

--
Trailing spaces are not stripped from any lines, and quotes are not handled
at all, so you might experience some weird behaviour if you leave trailing
spaces hanging around your Makefile.

--
WARNING:  $(patsubst ...) does not do a lot of bounds checking to make
sure that patterned substitutions do not overflow the maximum line length.
Be aware that bad things will happen if you overflow the line!

--
A directive such as .PHONY or .SUFFIXES (and in future .PRECIOUS, .IGNORE,
and .SILENT), which follows on the line immediately after the rule that
introduces a target for the first time will not be able to recognize that
target's existence because the target has not yet been added to the list of
recognized targets.  The reason is that the target rule is still being
formed; the parser is still expecting more command lines.

The work around for this bug is to insert an empty line between the rule
definition and the directive.

--
