Next: Backslash-Newline Comments, Previous: Special Chars in Names, Up: Portable Make Programming [Contents][Index]
A bug in Bash 2.03 can cause problems if a Make rule contains a backslash-newline followed by line that expands to nothing. For example, on Solaris 8:
SHELL = /bin/bash EMPTY = foo: touch foo \ $(EMPTY)
executes
/bin/bash -c 'touch foo \ '
which fails with a syntax error, due to the Bash bug. To avoid this problem, avoid nullable macros in the last line of a multiline command.
On some versions of HP-UX, make
reads multiple newlines
following a backslash, continuing to the next non-empty line. For
example,
FOO = one \ BAR = two test: : FOO is "$(FOO)" : BAR is "$(BAR)"
shows FOO
equal to one BAR = two
. Other implementations
sensibly let a backslash continue only to the immediately following
line.