Make resolving $\ to $ in or function

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Make resolving $\ to $ in or function

John Ulvr (julvr)

When resolving a line continuation $\<newline>, it normally resolves to $<space>, then to blank.   There is a corner case in make 4.2.1 where it seems to resolve to the literal $ character instead.   I have the following:

 

> cat tmp.mk

$(info version: $(shell $(MAKE) --version))

 

$(info  TEST: 1$\

              2)

 

$(info TEST: [$(or \

              ,$\

             )])

all:

        @echo building $@

 

> make -f tmp.mk

version: GNU Make 3.81 Copyright (C) 2006  Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  This program built for x86_64-unknown-linux-gnu

TEST: 12

TEST: []

building all

 

> make2 -f tmp.mk

version: GNU Make 4.2.1 Built for x86_64-pc-linux-gnu Copyright (C) 1988-2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

TEST: 12

TEST: [$]

building all