Trailing backslashes in Makefile

Alexandre Oliva oliva at dcc.unicamp.br
Thu Dec 3 15:05:56 GMT 1998


On Dec  3, 1998, "Michael H. Warfield" <mhw at wittsend.com> wrote:

> Alexandre Oliva enscribed thusly:

>> The problem is when a line ended with a backslash is followed by a
>> blank line.  This breaks various make programs :-(

> 	The problem there is that the blank line becomes part of the
> "continued" line (the \) and you are then no longer left with the
> prerequisit blank separator line between it and the next...

Huh?  IMO, there's nothing wrong with the following Makefile snippet,
but various make programs disagree:

--->cut<---
FOO = whatever \


# note the blank lines above
BAR = something else
--->cut<---

Broken makes will just go berzerk when presented a Makefile containing
a trailing backslash followed by a blank line, no matter how many
blank lines you have.  They will end up printing random error messages 
in unrelated lines.  This kind of Makefile program is very annoying
and hard to find :-(

> I'm actually surprised that gnu make accepts this since it implies
> that either they have 1) special case code for a continuation line
> followed by a terminating blank line

Although it's unrelated with the bug we were discussing, there's no
requirement that a set of commands is followed by a blank line.  The
sequence of commands can be broken by a line containing another
dependency, as long as it does not start with a TAB.

-- 
Alexandre Oliva  http://www.dcc.unicamp.br/~oliva  aoliva@{acm.org}
oliva@{dcc.unicamp.br,gnu.org,egcs.cygnus.com,samba.org}
Universidade Estadual de Campinas, SP, Brasil



More information about the samba-technical mailing list