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




Reply via email to